Отловить внутри компонента нажатие Ctrl
Модератор: Модераторы
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
GetKeyState присутствует в LCLIntf и реализована для gtk, gtk2, qt, carbon
Меня вполне устраивает GetKeyShiftState. Оно тоже оказалось кроссплатформенное. Проверил на 64-битном линуксе - всё работает.Павел Ишенин писал(а):GetKeyState присутствует в LCLIntf и реализована для gtk, gtk2, qt, carbon
Код: Выделить всё
procedure TMyPanel.UserInputEvent(Sender: TObject; Msg: Cardinal);
var
NewCtrl: boolean;
begin
if (Msg = CN_KEYUP) or (Msg = CN_KEYDOWN) then begin
NewCtrl := ssCtrl in GetKeyShiftState;
if NewCtrl<>CtrlPressed then begin
CtrlPressed:=NewCtrl;
UpdateImages;
end;
end;
end;
