Fórum Aplicar Função a todos os forms... #196475

21/11/2003

0

Pessoal, vou tentar explicar o + claro possível...

Há alguma maneira de aplicar uma função a todos os forms da aplicação, colocando esta função apenas no form principal...

É + ou menos o seguinte:

suponhamos que eu quisesse que sempre que fosse fechar um form, recebesse uma msg...

Tem como no meu form principal existir uma função tipo executa msg... que sem colocar o código nos outros formulários, ela se aplicaria?


Danilorsa

Danilorsa

Responder

Posts

21/11/2003

Carlosk

tem...

vc devera declarar o cabecalho da funcao abaixo do type do form, junto com as funcoes que o delphi cria automaticamente... e devera redeclara-la apos o implementation usando o nome do form na frente da funcao... exemplo:
se eu tenho uma funcao pegastring, que retorna uma string, primeiro vou declara-la assim:
function pegastring: string;

na parte de implementation, vou declara-la assim:
nomedoform.pegastring: string;
begin
...
end;

feito isso, eh soh colocar no seu segundo form, o nome do form principal na clausula uses...

na hora que for chamar a funcao, chame assim:
nomedoform.pegastring

pra mim funciona...

abracos


Responder

Gostei + 0

21/11/2003

Erucci

Caro Amigo

Você pode fazer assim: Orientado a Objetos....
Cria um Formulário padrão com várias funções... exemplo: mudar a cor de foco no edit..

Dai... é só você criar os formulários herdando as características desse seu formulário.... Clique em FILE ... NEW... OTHER... na paleta Project 1 e escolha Form1 com a opção INHERIT selecionada...

assim o formulário FORM1 será criado com todas as características do formulário de funções....

valewz

luís


Responder

Gostei + 0

21/11/2003

Rafael Heise

É isso mesmo, se você quer fazer isso, o jeito mais fácil é usando herança, que na linguagem orientada a objeto é super fácil, e consequentemente o delphi também!


Responder

Gostei + 0

21/11/2003

Beppe

Quando um form é fechado é chamado o evento OnClose do mesmo, se um existe. Coloque código neste evento para realizar o que quer. Para não precisar escrever isto em cada form, você escreve um manipulador de evento compartilhado.

procedure TMainForm.OthersFormsClose(Sender: TObject; var Action: TCloseAction);
begin
...
end;


Quando você for criar um form, coloque isto junto:
FormX := TFormX.Create(Application);
FormX.OnClose := MainForm.OthersFormsClose;



Responder

Gostei + 0

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

Aceitar