Fórum Criação de Componente - Mudar o Caption do Form #323143

09/06/2006

0

Estou criando um componente e gostaria de mudar o Caption do Form que estiver utilizando o componente. Ou seja, como faço de dentro da unit do componente pegar o nome da classe que está utilizando o mesmo e assim mudar o seu caption?

Ex. Coloco uma propriedade como ´Serial´ se o serial estiver incorreto escrevo no Caption do Form ´Versão Demostração´


Desde já agradeço


Eurismar

Eurismar

Responder

Posts

09/06/2006

Adriano Santos

Estou criando um componente e gostaria de mudar o Caption do Form que estiver utilizando o componente. Ou seja, como faço de dentro da unit do componente pegar o nome da classe que está utilizando o mesmo e assim mudar o seu caption? Ex. Coloco uma propriedade como ´Serial´ se o serial estiver incorreto escrevo no Caption do Form ´Versão Demostração´ Desde já agradeço


Cara, fiz um teste aki bem básicão e consegui fazer facinho. Dá uma olhada:

[quote:ad8bdddb34=´Código do Componente´]
unit TTesteComps;

interface

uses
  SysUtils, Classes, Forms;

type
  TTesteComp = class(TComponent)
  private
    FAtivo: Boolean;
    function GetAtivo: Boolean;
    procedure SetAtivo(const Value: Boolean);
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOWner: TObject);
    procedure Execute;
  published
    { Published declarations }
    property Ativo : Boolean read GetAtivo write SetAtivo;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents(´Samples´, [TTesteComp]);
end;

{ TTesteComp }

constructor TTesteComp.Create(AOWner: TObject);
begin
  Execute;
end;

procedure TTesteComp.Execute;
begin
  if FAtivo then
    TForm(Self.Owner).Caption := ´Teste do meu componente´
  else
    TForm(Self.Owner).Caption := TForm(Self.Owner).Caption;
end;

function TTesteComp.GetAtivo: Boolean;
begin
  Result := FAtivo;
end;

procedure TTesteComp.SetAtivo(const Value: Boolean);
begin
  FAtivo := Value;
end;

end.

[/quote:ad8bdddb34]

[quote:ad8bdddb34=´Como usar´]
procedure TForm1.Button1Click(Sender: TObject);
begin
  TesteComp1.Execute;
end;

[/quote:ad8bdddb34]


Responder

Gostei + 0

09/06/2006

Eurismar

Valeu! Adriano. Deu Certo. Muinto Obrigado!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar