Fórum Novo Componente - Fonte Aqui !!! #237989
16/06/2004
0
[b:620ff3192b]unit QULabel;
interface
uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls, Graphics, Dialogs,
Controls, Forms, StdCtrls;
type
TULabel = class(TLabel)
private
{ Private declarations }
FColor1 : TColor;
FColor2 : TColor;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner : TComponent); override;
procedure MouseEnter (var Msg: TMessage);
message cm_mouseEnter;
procedure MouseLeave (var Msg: TMessage);
message cm_mouseLeave;
published
{ Published declarations }
end;
procedure Register;
implementation
constructor TULabel.Create(AOwner : TComponent);
begin
Fcolor1 := Font.Color;
Fcolor2 := clHighlightText;
end;
procedure TULabel.MouseEnter(var Msg: TMessage);
begin
Font.Color := Fcolor2;
end;
procedure TULabel.MouseLeave(var Msg: TMessage);
begin
Font.Color := Fcolor1;
end;
procedure Register;
begin
RegisterComponents(´Standard´, [TULabel]);
end;
end.[/b:620ff3192b]
Amjorge
Curtir tópico
+ 0Posts
16/06/2004
Aroldo Zanela
O erro está no construtor, mas é tão simples que vou deixá-lo tentar resolver sozinho.
Gostei + 0
16/06/2004
Amjorge
Gostei + 0
16/06/2004
Aroldo Zanela
Vai na implementação do construtor, marque o código que você implementou e copie para o clipboard -> Apague a declaração na seção implementation e pressione Ctrl + Shift + C e adicione novamente o código do Clipboard.
Gostei + 0
16/06/2004
Dopi
uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls, Graphics, Dialogs,
Controls, Forms, StdCtrls;
QStdCtrls -> CLX (Q)
StdCtrls -> VCL
Isso sempre gera erros estranhos... ;-)
Gostei + 0
16/06/2004
Alexandremarcondes
Você deve, tanto no [u:56bcba9f65]contrutor[/u:56bcba9f65] quanto no [u:56bcba9f65]destrutor[/u:56bcba9f65] de qualquer componente chamar o mesmo método da classe pai com [i:56bcba9f65]inherited[/i:56bcba9f65].
No [u:56bcba9f65]contrutor [/u:56bcba9f65]geralemnte é a [u:56bcba9f65]primeira coisa [/u:56bcba9f65]que fazemos e no [u:56bcba9f65]destrutor [/u:56bcba9f65]a [u:56bcba9f65]última[/u:56bcba9f65].
Ex:
[b:56bcba9f65]constructor [/b:56bcba9f65]TULabel.Create(AOwner : TComponent);
begin
[b:56bcba9f65]inherited [/b:56bcba9f65]Create(AOwner);
Fcolor1 := Font.Color;
Fcolor2 := clHighlightText;
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)