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

Previous  Top  Next

    
 

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

 

Code:

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;

 

©Drkb::01557

http://delphiworld.narod.ru/

DelphiWorld 6.0