Каким методом можно послать форме или компоненту заранее известную кнопку, т.е съэмулировать ее нажатие,
например в обработчике двойного клика сгенерить нажать кнопку F3, интересен метод работающий и в Виндовс и в Линуксе
Эмуляция нажатия кнопки
Модератор: Модераторы
Аналогичная проблема:
в delphi можно написать SendMessage(Ctrl.Handle, WM_KEYDOWN, .....)
в Лазарусе lclintf.SendMessage(Ctrl.Handle, LM_KEYDOWN, ....)
и ничего не происходит.
Что я не так делаю?
Добавлено спустя 52 секунды:
WinXP SP3, QT, Laz 0.9.29
в delphi можно написать SendMessage(Ctrl.Handle, WM_KEYDOWN, .....)
в Лазарусе lclintf.SendMessage(Ctrl.Handle, LM_KEYDOWN, ....)
и ничего не происходит.
Что я не так делаю?
Добавлено спустя 52 секунды:
WinXP SP3, QT, Laz 0.9.29
Может стоит использовать Action'ы, и в нужный момент вызывать соответствующее действие
не покатит:(
т.к. нужна именно эмуляция нажатия кнопки.
дабл-клик и F3 - для наглядности
т.к. нужна именно эмуляция нажатия кнопки.
дабл-клик и F3 - для наглядности
ctm писал(а):в delphi можно написать SendMessage(Ctrl.Handle, WM_KEYDOWN, .....)
А что мешает это же написать в Lazarus'е?
ничего не мешает, более того - я так и делаю, но результата нет.
в этом и вопрос
Добавлено спустя 57 минут 38 секунд:
поправка - в delphi работает только с PostMessage, в Lazarus - никак:(
в этом и вопрос
Добавлено спустя 57 минут 38 секунд:
поправка - в delphi работает только с PostMessage, в Lazarus - никак:(
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
Есть модуль mouseandkeyinput - попробуйте его
Спасибо, то что нужно, попробую.
