Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Вниз

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]

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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
1-66232           StelZ                 2002-01-03 03:25  2002.01.21  
Отсечь заголовок


1-66245           Snake                 2002-01-02 17:21  2002.01.21  
Запись графики в поток


14-66340          Храмов Владимир       2001-11-24 12:31  2002.01.21  
Программа


14-66351          Mihan                 2001-11-26 18:48  2002.01.21  
Где достать?.......


1-66266           !Новичоккккк          2002-01-03 22:23  2002.01.21  
ПОМОГИТЕ!