![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эмуляция нажатия 2-х клавиш одновремкнно.
AlexSW © (2003-02-06 11:44:00)Подскажите, ПЛЗ, как с помощью SendMessage, добиться эмуляции двух одновременно нажатых клавиш (Ctrl+Enter и Shift+Enter)?
Потому как если делать так
SendMessage(AHandle,WM_KEYDOWN,VK_CONTROL,0);
SendMessage(AHandle,WM_KEYDOWN,VK_RETURN,0);
то ессно это воспринимается как поочередное нажатие, а хотелось бы посылать , что эти кнопки нажаты одновременно.
Заранее ОГРОМНОЕ ПАСИБА !!!!
CABBA (2003-02-07 11:34:00) [1]А ты не пробовал указать что-нибудь типа
SendMessage(Form1.dxDBTreeList1.Handle,
WM_KEYDOWN,VK_CONTROL+VK_RETURN,0) ?
Cosmic (2003-02-06 21:00:00) [2]Удалено модератором
Примечание: Offtopic
AlexSW (2003-02-06 15:43:00) [3]М.б. и прокатит, но я ужо справился с ентой бякой :))
сначала делаю
keybd_event(VK_CONTROL,0,0,0);
а потом
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
вроде все ОК.
СПАСИБО за советы !!!!!!! :))
Игорь Шевченко (2003-02-06 14:27:00) [4]SetKeyboardState ?
AlexSW (2003-02-06 12:37:00) [5]Не спорю, но в контроле (dxDBTreeList) по нажатию Ctrl+Enter либо Shift+Enter курсор начинает перемещаться по совпадающим нодам вверх или вниз соответственно. Пытаюсь это продублировать с помощью 2-х кнопок, типа "Вперед" и "Назад". Так вот не получается :(( Пробовал так
SendMessage(Form1.dxDBTreeList1.Handle,WM_KEYDOWN,VK_CONTROL,0);
SendMessage(Form1.dxDBTreeList1.Handle,WM_KEYDOWN,VK_RETURN,0);
SendMessage(Form1.dxDBTreeList1.Handle,WM_KEYUP,VK_RETURN,0);
SendMessage(Form1.dxDBTreeList1.Handle,WM_KEYUP,VK_CONTROL,0);
все равно, не скачет, гад...
Если то же самое только через PostMessage - вообще зацикливается.
Не дайте погибнуть !!!!
Игорь Шевченко (2003-02-06 12:18:00) [6]Одновременно клавиши не нажимаются. Даже контроллер клавиатуры выдает сведения о нажатых клавишах последовательно. Так что лучше не мучится, а посылать WM_KEYDOWN :-)