Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.14;
Скачать: CL | DM;

Вниз

GetAsyncKeyState - использование ?   Найти похожие ветки 

 
SemFLY ©   (2002-01-13 18:24) [0]

Мне надо, чтобы при нажатие клавиши (любой) на клавиатуре в Edit появлялось "нажата клавиша < F > ", к примеру. В FAQ я нашел, что это можно сделать с помощью этой функции GetAsyncKeyState, но как не разберусь.

Спасибо ! :))


 
SemFLY ©   (2002-01-13 22:10) [1]

Извеняюсь что столько мессаджей напихал, у меня что-то эксплорер глюкнулся я сам чессно слово не ожидал, мне тут на форуме сначала ошибку выдавало.


 
valery_f   (2002-01-14 12:10) [2]

Чтобы ловить совсем уж все клавиши (включая Alt) нужно перехватить целую кучу сообщений - CM_DIALOGKEY, WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, WM_SYSKEYUP. Главное - не забыть после анализа кнопки направить обработчик по стандартному пути (inherited). Впрочем - это не единственный вариант :)


 
TonnyS ©   (2002-01-14 13:23) [3]

GetAsyncKeyState выдаёт клавиши (скорее их скан-коды), нажатые с момента последнего вызова GetAsyncKeyState.
пример:
if GetAsyncKeyState(ord("A"))<>0 then Label1.caption := "Нажата A";

при этом отлавливается нажатие именно на клавишу, на которой латинское A написано, в не зависимости от раскладки клавиатуры и регистра.

Чтоб более-менее нормально получать информацию о нажатии клавиш, надо GetAsyncKeyState в таймер засунуть, при этом если важна точность (нажата/ненажата) то её лучше не использовать. Но для некоторых задач подходит - например, регулировка звука в системе, где плюс-минус пару делений роли не играют.


 
SemFLY ©   (2002-01-14 21:09) [4]

Мне тут посоветовали функцию SetWindowsHookEx, но как ею пользоваться я не рзобрался, а точнее вроде всё работает, но как сунуть то, что получила эта функция в Edit не знаю.



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-42921
tmp_user
2002-02-14 03:50
2002.03.14
Замена редактора в DBGrid e


1-42988
FOM
2002-02-26 10:06
2002.03.14
NetMessageBufferSend()


4-43217
Renard
2002-01-15 23:15
2002.03.14
Как узнать какая структура находится под крысой: ListBox, Edit, Button и т.д.


3-42980
wdr
2002-02-14 11:35
2002.03.14
Проблемы с Cyrillic


1-43059
vrRaven
2002-02-24 05:46
2002.03.14
Форма вместо вложенного меню