|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.11.2008, 06:45 | #1 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Контроль Scroll Lock
Привет всем! Как мне установить контроль за такими клавишами, как Scroll Lock, Caps Lock, Num Lock? Первый шаг я уже сделал: Зарил её как HOT KEY.
А как уснать, нажата ли она, или нет? |
06.11.2008, 07:53 | #2 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Код:
|
06.11.2008, 12:31 | #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. |
06.11.2008, 13:51 | #4 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Хм... Интересно. Буду думать. А ты может расскажешь пока, почету так принципиально отслежить состояние именно в этом месте?
|
06.11.2008, 18:17 | #5 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
|
07.11.2008, 01:22 | #6 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Именно с таймером я и эксперемнтировал, прежде чем выложить решение. А еще с обработчиком KeyUp формы. Здесь тоже все работает. С HotKey будем разбираться. Самому интересно стало.
|
07.11.2008, 07:00 | #7 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
|
07.11.2008, 10:04 | #8 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Мне кажется это из-за того, что WM_HOTKEY отлавливается при нажатой кнопке и надо просто немного подождать (до того момента как клавишу отпустят). Поставить на поток или на таймер.
Код:
|
07.11.2008, 15:14 | #9 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Тоже самое пытался сделать без потока... Не сработало. Но дело даже не в этом. При повторном нажатии (состояние изменилось в предыдущем екшене) опять же ничего не происходит. Т.е. на данный момент результат вроде есть, а понимания происходящего нет. А это не есть гуд.
Последний раз редактировалось Баламут; 07.11.2008 в 15:20. |
07.11.2008, 19:04 | #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 |