Evento sobre o ponteiro do mouse

Delphi

31/10/2007

Fala pessoal,

Eu fiz uma imagem como botão ou seja eu fiz imagem como se fosse botão, então eu quero saber como que faz quando o ponteiro do mouse passa por cima da imagem ai muda a outra imagem que quase igual mas ele é mais claro. ( eh como se fosse um efeito ).

Por acaso se tem um jeito melhor do que isso, porfavor poste pois eu estou aprendendo muito aqui =)

Então é isso
Abração


Zullcore

Zullcore

Curtidas 0

Respostas

Marcosrocha

Marcosrocha

31/10/2007

Em um ImageList coloque 3 imagens (Normal, Over, Down (nomes fictícios)) ai nos eventos:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  Image1.Picture := nil;
  ImageList1.GetBitmap(2, Image1.Picture.Bitmap);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  Image1.Picture := nil;
  ImageList1.GetBitmap(1, Image1.Picture.Bitmap);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  Image1.Picture := nil;
  ImageList1.GetBitmap(0, Image1.Picture.Bitmap);
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  Image1.Picture := nil;
  ImageList1.GetBitmap(0, Image1.Picture.Bitmap); // para que o botao fique normal quando tirar o mouse do Image1
end;



GOSTEI 0
Zullcore

Zullcore

31/10/2007

Valeu cara.
Aprendi isso.
Mas eu tenho um pequeno problema.

Essa parte:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); 
begin 
  Image1.Picture := nil; 
  ImageList1.GetBitmap(0, Image1.Picture.Bitmap); // para que o botao fique normal quando tirar o mouse do Image1 
end;


Quando meu ponteiro do mouse passa na área Form, a Image1 ficam piscando. Como resolve isso?


GOSTEI 0
Zullcore

Zullcore

31/10/2007

Eu estive pensando motificar o theme (skin) na parte do botão, sem usar o programa VCL.
É possível?


GOSTEI 0
POSTAR