Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.21;
Скачать: 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 вся ветка

Текущий архив: 2002.01.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-66336
Dima-k17
2001-11-23 11:24
2002.01.21
Недочёт


4-66392
ctapik
2001-11-19 20:17
2002.01.21
Как получить хендл на System Image List


1-66297
Yan Kovalskiy
2001-12-28 06:39
2002.01.21
Системы исчисления


6-66317
Leviathan
2001-10-26 17:17
2002.01.21
Файл через TCP/IP !


7-66382
Dmitri
2001-10-02 09:03
2002.01.21
Попробуем запрограммировать сканер