Botão direito do mouse ñ chama onKeyDown

17/05/2003

1

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin

if Key = VK_LBUTTON then {não funciona}
color := clred;

if Key = VK_F10 then
color := clred;

end;

[i:81ad743ac5]Parere que a ´´var Key´ não esta recebendo ´VK_LBUTTON´.
Isto acontece também nos eventos:
OnKeyPress, OnKeyUp [/i:81ad743ac5][b:81ad743ac5]Obs: KeyPreview está True[/b:81ad743ac5]

:?: Preciso saber quando o usuário presiona o botão (direito ou esquerdo do mouse)em qualquer parte do Form antes de executar qualquer coisa. Se tiver outra solução?

Muito grato!


Responder

Posts

17/05/2003

Pacheco

Se vc quer saber qual botão do mouse foi pressionado, utilize o evento OnMouseDown



if Button = mbLeft then
color := clBlue;

[color=red:63c796381c]no OnMouseDown o click tambem não chama o evento.[/color:63c796381c]

Obrigado!


Responder

17/05/2003

Polo

Tenta isso:
No evento OnMouseDown.
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   If ssRight in Shift then{Botão direito}
     Color:=clBlue;
   If ssLeft in Shift then{Botão esquerdo}
     Color:=ClBlack;
end;



Responder

17/05/2003

Pacheco

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_LBUTTON then {não funciona} color := clred; if Key = VK_F10 then color := clred; end; [i:8435e7c1fb]Parere que a ´´var Key´ não esta recebendo ´VK_LBUTTON´. Isto acontece também nos eventos: OnKeyPress, OnKeyUp [/i:8435e7c1fb][b:8435e7c1fb]Obs: KeyPreview está True[/b:8435e7c1fb] :?: Preciso saber quando o usuário presiona o botão (direito ou esquerdo do mouse)em qualquer parte do Form antes de executar qualquer coisa. Se tiver outra solução? Muito grato!



Responder

17/05/2003

Pacheco

O problema é que o click do mouse nem chega a chamar os eventos.


Responder