Отловить внутри компонента нажатие Ctrl

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Отловить внутри компонента нажатие Ctrl

Сообщение Павел Ишенин » 10.09.2009 02:24:34

GetKeyState присутствует в LCLIntf и реализована для gtk, gtk2, qt, carbon
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Отловить внутри компонента нажатие Ctrl

Сообщение VKB » 10.09.2009 13:27:28

Павел Ишенин писал(а):GetKeyState присутствует в LCLIntf и реализована для gtk, gtk2, qt, carbon
Меня вполне устраивает GetKeyShiftState. Оно тоже оказалось кроссплатформенное. Проверил на 64-битном линуксе - всё работает.
Код: Выделить всё
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;
VKB
новенький
 
Сообщения: 33
Зарегистрирован: 07.09.2009 13:57:35

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 53

Рейтинг@Mail.ru