На главную

Различить правый и левый Ctrl

Различить правый и левый Ctrl

ОГЛАВЛЕНИЕ    HOME  MAIL



Для того, чтобы отличить нажат левый или правый Ctrl, нужно перехватить событие WM_KEYDOWN. В зависимости от состояния 24-ого бита параметра LParam нажата правая или левая клавиша.

...
  public
    procedure WMKEYDOWN(var msg: TMessage); message WM_KEYDOWN;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMKEYDOWN(var msg: TMessage);
begin
  if (msg.LParam and (255 shl 16)) shr 16 <> 29
    then Exit;
  if msg.LParam and (1 shl 24) > 0
    then Form1.Caption := 'Right'
    else Form1.Caption := 'Left';
end;

главная страницазадать вопрос
email: delphi4all@narod.ru
Hosted by uCoz