omo simular os eventos ONMOUSEENTER e ONMOUSELEAVE ?

Delphi

06/01/2004

Olá, galera!

Eu estou terminado um programa e gostaria de colocar alguns efeitos visuais nele.
E gostaria de saber se alguém sabe como simular, via programação, os eventos ONMOUSEENTER e ONMOUSELEAVE ?

Esse é aquele evento que ocorre quando se passa o mouse em um botão, painel e etc...

Esses eventos exitem em alguns botões que eu tenho, mas não estão nos botões que eu quero usar.

Alguém pode me ajudar?

Desde de já agradeço a todos!


Dark Knight

Dark Knight

Curtidas 0

Melhor post

Barcelos

Barcelos

06/01/2004

Olá amigo,

Você terá que criar componentes que descendam dos que você quer usar e adicionar estas funcionalidades.

Segue um exemplo bem básico (somente muda a fonte) de um componente herdado de TSpeedButton que adiciona estas funcionalidades:


unit SpeedActive;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;

type
TSpeedActive = class(TSpeedButton)
private
{ Private declarations }
protected
{ Protected declarations }
public
//Captura as mensagens cm_mouseenter
//e cm_mouseleave
procedure MouseEnter(var Msg : TMessage);
Message cm_mouseEnter;
Procedure MouseLeave (Var MSG: TMessage);
Message cm_mouseLeave;
{ Public declarations }
published
end;

procedure Register;

implementation

Procedure TActiveButton.MouseEnter (var MSG : TMessage);
begin
Font.Color := clBlue;
Font.Style := Font.Style + [fsBold];
end;

Procedure TActiveButton.MouseLeave (var MSG : TMessage);
begin
Font.Color := clBlack;
Font.Style := Font.Style - [fsBold];
end;

procedure Register;
begin
RegisterComponents(´Additional´, [TSpeedActive]);
end;

end.


Espero ter ajudado

Barcelos
osbarcelos@hotmail.com


GOSTEI 1

Mais Respostas

Alberto

Alberto

06/01/2004

Teria como implementar também as MSG de onmousedown e onmouseup nesse exemplo?
GOSTEI 0
POSTAR