Вниз
Скачать: CL | DM;

TComponent и сообщения клавиатуры   Найти похожие ветки 

← →
Дремучий ©   (2002-01-03 21:44) [0]

как оптимально, без лишних телодвижений сделать чтобы
TComponent реагировал на сообщения клавиатуры т.е.
нажатия клавиш?
WM_KEYDOWN я так понимаю нужно еще дополнить визуальным
фокусом или необъязательно? Поставить хук в пределах определенного окна программы, которому принадлежит компонент?

Как правильно и оптимально?


← →
vuk ©   (2002-01-03 22:10) [1]

Сам по себе TComponent получать оконные сообщения не может, поскольку у него нет этого самого окна. Хотя, в принципе, такое окно, лучше невидимое, можно завести (как это делает TTimer, например) и ловить оконные сообщения. Насчет того поймается ли WM_KEYDOWN - не знаю, не пробовал, утверждать не буду.

Скорее всего проще будет повесить hook, но естественно, необходимо проверять - кому принадлежит компонент и есть ли куда вешать этот самый hook.


← →
oomneeq   (2002-01-03 23:34) [2]

Да взять TWinControl и игнорировать все лишнее :)


← →
vuk ©   (2002-01-04 00:25) [3]

>Да взять TWinControl и игнорировать все лишнее.
Это если нужно визуальное представление компонента. А если не нужно? А если необходимо будет этот компонент на DataModule положить? Что тогда делать с потомком WinControl?


← →
DMN ©   (2002-01-04 01:15) [4]

А датамодуль не предназначен для реакции на клавиатуру. Его можно исползовать в серисе, например, который на клавиатуру вообще никак не реагирует. Или в консольной приладе, у которой с кнопочками свом заморочки.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
7-66376
Dmitry V. Averuanov
2001-10-08 16:17
2002.01.21
Освобождение памяти при завершении процесса.


14-66348
asafr
2001-11-22 16:01
2002.01.21
FastReport. Информация к размышлению...


4-66409
NetBreaker666
2001-11-17 19:58
2002.01.21
Как работать с CAB файлами.


3-66193
Вика
2001-12-18 10:29
2002.01.21
Программно добавить поле в TFields


3-66219
-=CrazyFish=-
2001-12-17 23:26
2002.01.21
Восстановление БД Access




   Наверх