Botões

06/12/2003

1

Como eu faço para trocra o capition de uma botão quando o usuario tirar o mouse da area do botão ?
:roll: obs.: não é o evendo onMouseMove que eu estou falando, esse muda quando o usuario ´entra´ com o mouse na area do botão!
Obrigado ae!
Abraço peop !


Responder

Posts

06/12/2003

Beppe

Ele deveria processar as mensagens WM_MOUSELEAVE, mas ele não faz isso. Entretanto você pode simular o evento.

o No evento OnMouseMove do botão, você seta uma variável booleana global(pode ser um campo private do form), para True.
o No evento OnMouseMove do form, você checa esta variável.

Veja como fica:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  NoBotao := True;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if NoBotao then
  begin
    ShowMessage(´O mouse deixou o botão!´);
    NoBotao := False;
  end;
end;


Ataliba


Responder