Use case: when RadPopupEditor is opened, the focus is sent to the popup control which handles all the pressed keys. It would be added public API which provides the possibility to plug into this keyboard handling and customize the behavior.
For example, when the popup is opened, pressing Escape, closes the popup. This functionality comes from the RadPopupContainerForm.OnKeyDown which behavior can't be overridden.
Currently, only the listener can be removed for a certain popup:
Private Sub RadPopupEditor_PopupOpened(sender As Object, e As EventArgs) PopupManager.Default.RemovePopup(Me.RadPopupEditor1.PopupEditorElement.PopupContainerForm)
UPDATE: The API should allow handling the mouse input as well and the developer should control whether the message will be managed further.
Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Public Const MOD_ALT As Integer = &H1 Public Const MOD_SHIFT As Integer = &H10 Public Const VK_CONTROL As Integer = &H11 Public Const WM_HOTKEY As Integer = &H312 <DllImport("User32.dll")> Public Shared Function RegisterHotKey(ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Integer End Function <DllImport("User32.dll")> Public Shared Function UnregisterHotKey(ByVal hwnd As IntPtr, ByVal id As Integer) As Integer End Function Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_HOTKEY Then Dim id As IntPtr = m.WParam Select Case (id.ToString) Case "100" MsgBox("F2 Pressed") Case "200" MsgBox("ALT+D Pressed") Case "300" MsgBox("ALT+C Pressed") End Select End If MyBase.WndProc(m) End Sub Public Sub HotKeys_Register() RegisterHotKey(Me.Handle, 100, Nothing, Keys.F2) RegisterHotKey(Me.Handle, 200, MOD_ALT, Keys.D) RegisterHotKey(Me.Handle, 300, MOD_ALT, Keys.C) End Sub Public Sub HotKeys_Unregister() UnregisterHotKey(Me.Handle, 100) UnregisterHotKey(Me.Handle, 200) UnregisterHotKey(Me.Handle, 300) End Sub Private Sub myPopupEditor_PopupOpened(sender As Object, e As EventArgs) Handles myPopUpEditor.PopupOpened Me.myLookUpContainer.HotKeys_Register() End Sub Private Sub myPopUpEditor_PopupClosed(sender As Object, args As RadPopupClosedEventArgs) Handles myPopUpEditor.PopupClosed Me.myLookUpContainer.HotKeys_Unregister() End Sub