Как определить нажаты ли клавиши Shift, Alt или Ctrl в какой-либо момент времени

Как определить нажаты ли клавиши Shift, Alt или Ctrl в какой-либо момент времени В приведенном примере показано как определить нажата ли клавиша Shift при выборе строчки меню. Пример также содержит функции проверки состояния клавиш Alt, Ctrl.

function CtrlDown : Boolean;
var
 State : TKeyboardState;
begin
 GetKeyboardState(State);
 Result := ((State[vk_Control] and 128) <> 0);
end;
function ShiftDown : Boolean;
var
 State : TKeyboardState;
begin
 GetKeyboardState(State);
 Result := ((State[vk_Shift] and 128) <> 0);
end;
function AltDown : Boolean;
var
 State : TKeyboardState;
begin
 GetKeyboardState(State);
 Result := ((State[vk_Menu] and 128) <> 0);
end;
procedure TForm1.MenuItem12Click(Sender: TObject);
begin
 if ShiftDown then
  Form1.Caption := 'Shift'
 else
  Form1.Caption := '';
end;

http://delphiworld.narod.ru/ DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...