Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Про Caps, Scroll и Num [D6, Win95/98, WinME, NT4, Win2k, WinXP]


liho26 ©   (2002-06-24 07:51:00) 

Как определить триггер кравиш и вывести все это в статусбар? Например, если горит индикатор NumLock, то в статусбаре отображается слово "Num". Соответственно с капсом и скролом. Если не трудно, опубликуйте код
-------------------------
С уважением


liho26   (2002-06-24 10:51:00) [1]

Юрий, спасибо. Александр, обязательно сейчас посмотрю. Пусть в моем запасе будет еще и этот пример. Proton, ну ты и дал...! :) Мне не надо перехватывать что-то в других окнах. У меня SDI и только в нем надо это делать. Тем не менее - спасибо :)


Proton   (2002-06-24 10:32:00) [2]

Народ да ведь только сегодня подобный вопрос поднимался.
:)
Сделай лучше по таймеру
дешево и сердито.
А то юзверь включит клавишу в другом окошке - оппа а ты об этом ни че не знаеш..
А чтоб абсолютно все нажатия перехватывать нужен хук + dll. Сложно больно.


---
Ну и конечно можно на OnActivate + хук только на свой процесс (тогда без Dll).


Александр Емелин   (2002-06-24 09:30:00) [3]

Вообще-то, для этого перехватывается обработчик клавиатуры.
Хороший пример в DFSStatusPanel (он где-то есть в кладовке),
там как-раз реализована строка статуса с отображением NumLock, CapsLock и т.д.


Юрий Зотов   (2002-06-24 09:03:00) [4]

if GetKeyState(VK_NUMLOCK) and 1 = 1
then StatusBar1.Panels[3].Text := "NUM"
else StatusBar1.Panels[3].Text := "";

Аналогично с VK_SCROLL и VK_CAPITAL. Сажайте все это, например, в обработчик Application.OnIdle (пример есть в хелпе).


Наверх

Титульная страница Поиск, карта сайта Написать письмо