Fórum omo simular os eventos ONMOUSEENTER e ONMOUSELEAVE ? #204377
06/01/2004
0
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!
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
Curtir tópico
+ 0
Responder
Post mais votado
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
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
Barcelos
Responder
Gostei + 1
Mais Posts
07/05/2018
Alberto
Teria como implementar também as MSG de onmousedown e onmouseup nesse exemplo?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)