Wed 10 December 2008 Category: IT. Tags: delphi

Зажаты ли Ctrl, Alt или Shift при нажатии кнопки

Функция CtrlDown

function CtrlDown : Boolean;
var
State : TKeyboardState;
begin
GetKeyboardState(State);
Result := ((State[vk\_Control] And 128) \<\> 0);
end;

Функция ShiftDown

function ShiftDown : Boolean;
var
State : TKeyboardState;
begin
GetKeyboardState(State);
Result := ((State[vk\_Shift] and 128) \<\> 0);
end;

Функция AltDown

function AltDown : Boolean;
var
State : TKeyboardState;
begin
GetKeyboardState(State);
Result := ((State[vk\_Menu] and 128) \<\> 0);
end;

Обработчик кнопки

procedure TForm1.Button1Click(Sender: TObject);
begin
if ShiftDown then
Form1.Caption := 'Shift'
else
Form1.Caption := '';
end;

Comments !

blogroll

social