Главная страница
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.009 c
6-66332
maxi
2001-10-25 13:30
2002.01.21
По поводу ITransport в TSocketConnection


1-66253
AndreyK
2001-12-30 17:32
2002.01.21
Помогите с формой


4-66398
Delfin
2001-11-21 12:39
2002.01.21
Как в IE получить доступ к строке адреса


3-66208
Vygantas
2001-12-18 13:10
2002.01.21
MySQL и D6


1-66272
Quaker
2002-01-04 06:30
2002.01.21
ActiveX