Делаю экранную клавиатуру.
Есть массив command buttons. С клавишами клавиатуры всё нормально.
А вот когда кликаешь мышью, при клике на button фокус хоть на короткое время, но передаётся на форму, в следствии чего иногда слетает с активного окна.
- Код: Выделить всё
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
.................
Private Sub Timer1_Timer() 'timer interval = 1
................
hAppWnd = GetForegroundWindow() ' hwnd к примеру notepad
..............................
End Sub
Private Sub cmdKey_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) 'в этот момент фокус переходит к Form1 ?
hAppWndEx = hAppWnd
ret = SetForegroundWindow(hAppWndEx) 'опять фокус на notepad
keybd_event Index, 0, 0, 0
keybd_event Index, 0, KEYEVENTF_KEYUP, 0
End Sub
Всё нормально, событие передаётся в notepad, но иногда фокус спрыгивает на форму,
что очень неприятно.
Возможно-ли, чтобы форма вообще не принимала фокус при клике ?
Типа Windows onscreen keyboard