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

Вниз

Определение состояния функциональных клавиш   Найти похожие ветки 

 
Deedlit ©   (2003-04-04 13:05) [0]

Как узнать в определенный момент, нажат ли Ctrl, Shift? В обработчике НЕТ константы TShiftState, специально это подчеркиваю после общения в местном чате. :)

Есть функции GetKeyState и GetKeybaordState. Первая возвращает состоянии конкретной клавиши (код клавиши передается в параметре), вторая - состояние всей клавиатуры в виде массива.

1) Как проанализировать возвращаемое GetKeyState значение? Там написано: анализ верхнего бита. Я в затруднении. :(

2) Какой массив нужен для GetKeyboardState? И как в нем найти нужные адреса клавиш, функциональных в том числе?

Помогите, мастаки-программисты. :)


 
Barmutik ©   (2003-04-04 13:24) [1]

Функция возвращающая состояние функциональных клавиш в любое время.

function GetShiftState: TShiftState;
begin
Result := [];
if GetKeyState(VK_SHIFT) < 0 then Include(Result, ssShift);
if GetKeyState(VK_CONTROL) < 0 then Include(Result, ssCtrl);
if GetKeyState(VK_MENU) < 0 then Include(Result, ssAlt);
end;


 
Deedlit ©   (2003-04-04 15:56) [2]

Нефиг нафиг пополам... [озадаченно] Работает! Спасибо огромное!



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-26582
Dmitry_Bondarev
2003-05-28 14:33
2003.06.09
Как сделать разноцветные строки в ListBox?


14-26655
AlexHHH
2003-05-23 16:40
2003.06.09
Запуск другого приложения на панели моей программы


6-26626
Евген
2003-04-04 10:28
2003.06.09
Как прочитать данные принятые IdUDPServer?


7-26824
VR
2003-04-05 04:18
2003.06.09
CD-ROM


6-26627
chak
2003-04-06 11:13
2003.06.09
TServerClientThread !!???