Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.056 c
9-26329
MRB_SPB
2003-01-04 11:26
2003.06.09
Преобразования


1-26600
Rise
2003-05-28 16:34
2003.06.09
StringGrid


3-26404
Alexey
2003-05-21 16:31
2003.06.09
Фильтр


14-26671
Suhomlin
2003-05-24 13:56
2003.06.09
Взаимодействие с Microsoft Outlook


14-26676
I_C_E_
2003-05-24 20:28
2003.06.09
Как правильно вычислить




   Наверх