Зажаты ли 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 !