Label que abre um form

Delphi

22/07/2004

Olá galera, estou criando um componente descendente do Label, e queria fazer com que no evento OnClick do MeuLabel, abrisse um form especificado no Object Inspector. Ou seja, nesse MeuLabel, na parte [b:a56fe5ff85]published[/b:a56fe5ff85] eu leio um form:
[b:a56fe5ff85]property[/b:a56fe5ff85] [i:a56fe5ff85]Formulario: TForm read FForm write SetForm;[/i:a56fe5ff85]


[color=red:a56fe5ff85]Porém não estou conseguindo escrever o código que chama o formulário!!![/color:a56fe5ff85]


José Fillho

José Fillho

Curtidas 0

Respostas

Renatosilva

Renatosilva

22/07/2004

Cara, não sei se é possível criar uma propriedade do tipo TForm,
mas vamos lá:

Primeiro, explique [color=red:dce012f61e]exatamente por que não funciona[/color:dce012f61e]

Vou tentar ajudar


GOSTEI 0
Paulo_amorim

Paulo_amorim

22/07/2004

Cara, não sei se é possível criar uma propriedade do tipo TForm, mas vamos lá: Primeiro, explique [color=red:43f3479b93]exatamente por que não funciona[/color:43f3479b93] Vou tentar ajudar


Olá

Eh possível sim... gneericamente é possível vc colocar uma propriedade de qq tipo...

FForm.Show;

Isso não funciona?! Dá erro? Explique-se melhor...

Espero que ajude
Até+


GOSTEI 0
José Fillho

José Fillho

22/07/2004

Aqui vai trechos do código fonte do meu componente label, o que eu quero é que ao clicar no label seja mostrado o form especificado no object inspector. Mas ainda nao estou conseguindo saber pq n dah certo. Talvez nao seja possivel realizar tal operacao!!!

[b:51c65ed859]uses [/b:51c65ed859]Forms...

[b:51c65ed859]Private[/b:51c65ed859]
FForm: TForm;
procedure SetForm(valor: TForm);

[b:51c65ed859]Protected[/b:51c65ed859]
procedure Click; override;

[b:51c65ed859]Published[/b:51c65ed859]
property yForm: TForm read FForm write SetForm;
...

[b:51c65ed859]procedure [/b:51c65ed859]TMyLabel.SetForm(valor:TForm);
begin
FForm:=valor;
end;

[b:51c65ed859]procedure[/b:51c65ed859] TMyLabel.Click;
var
formulario:TForm;
begin
formulario:= FForm.Create(Application);
formulario.Show;
end;

PORÉM, NO MOMENTO EM QUE EU COLOCO NO OBJECT INSPECTOR O NOME DO FORMULARIO, EH EXIBIDA A SEGUINTE MSG DE ERRO:
[color=red:51c65ed859][b:51c65ed859]INVALID PROPERTY VALUE[/b:51c65ed859][/color:51c65ed859]


GOSTEI 0
Lidoval

Lidoval

22/07/2004

Também tentei, mas n consegui, seria ma ótima forma de otimização de codigo!!!
:cry:


GOSTEI 0
POSTAR