![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Привет всем! Как мне установить контроль за такими клавишами, как Scroll Lock, Caps Lock, Num Lock? Первый шаг я уже сделал: Зарил её как HOT KEY.
А как уснать, нажата ли она, или нет? |
![]() |
![]() |
![]() |
#2 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
2Баламут, не помогает. Не действует вообще.
Дело в том, не катит под горячии клавиши... [CODE] ... procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; ... RegisterHotKey(Handle, VK_SCROLL, 0, VK_SCROLL); ... procedure TEXE_FORM1.WMHotKey(var Msg: TWMHotKey); begin if GetKeyState(VK_SCROLL) and 1 = 0 then caption := 'Нажата' else caption := 'Не нажата'; end; ... /CODE] Последний раз редактировалось Altera; 06.11.2008 в 12:59. |
![]() |
![]() |
![]() |
#4 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
Хм... Интересно. Буду думать. А ты может расскажешь пока, почету так принципиально отслежить состояние именно в этом месте?
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]() |
![]() |
![]() |
![]() |
#6 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
Именно с таймером я и эксперемнтировал, прежде чем выложить решение. А еще с обработчиком KeyUp формы. Здесь тоже все работает. С HotKey будем разбираться. Самому интересно стало.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Мне кажется это из-за того, что WM_HOTKEY отлавливается при нажатой кнопке и надо просто немного подождать (до того момента как клавишу отпустят). Поставить на поток или на таймер.
Код:
|
![]() |
![]() |
![]() |
#9 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
Тоже самое пытался сделать без потока... Не сработало. Но дело даже не в этом. При повторном нажатии (состояние изменилось в предыдущем екшене) опять же ничего не происходит. Т.е. на данный момент результат вроде есть, а понимания происходящего нет. А это не есть гуд.
Последний раз редактировалось Баламут; 07.11.2008 в 15:20. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Вот что решил, без цыклов и потоков:
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не получается изменить NUM,CAps,scroll Lock | Reds | Общие вопросы Delphi | 1 | 29.09.2008 15:31 |
Scroll в DBGrid и StringGrid | Roof | Компоненты Delphi | 2 | 27.07.2008 17:46 |
Заставить мигать Scroll Lock | snegok74 | Общие вопросы Delphi | 12 | 06.06.2008 14:02 |
Накой кнопка Scroll Lock??? | Altera | Компьютерное железо | 4 | 05.06.2008 00:42 |
scroll в webbrouser | MaslCS | Компоненты Delphi | 4 | 23.01.2008 22:58 |