Hint no Statusbar
19/02/2006
0
Tenho três FORM: PRINCIPAL, CADASTRO e TRÂMITE, também têm um STATUSBAR e um PROGRESSBAR.
Então fica assim no STATUSBAR:
Painel 0 = PROGRESSBAR;
[b:234e3a8e26]Painel 1 = ??[/b:234e3a8e26]
Painel 2 = Dados dos formulários ao movimento do mouse;
Painel 3 = Data e no;
Painel 4 = Horas;
Meu pensamento: Que no PAINEL 1 fique o nome do formulário em foco,
mas quando esse fosse fechado o nome do formulário saísse do painel
e não restando mais nenhum formulário em foco que mostre o nome do formulário principal.
Conseguir o mínimo, pois no MainMenu que chama
cada formulário coloquei no seu onclick dessa forma:
Statusbar1.Panels[1].Text := ´O NOME DO FORMULÁRIO´;
Dessa forma a cada click chama o formulário e se chamar todos, sendo que primeiro um e depois outro e outro, nesta proporção vai mudando no painel, mas depois que fecho o que foi aberto por último, o anterior que fica com o
foco, neste o nome não aparece no painel e sim o que foi fechado.
Pessoal deu pra entender? Alguém poderia dar uma dica pro iniciante aqui de
como posso fazer esse processo? Valeu e obrigado desde já.
Jrcosmoluis
Posts
19/02/2006
Edilcimar
19/02/2006
Marco Salles
no meu modo de ver ha melhor talves seje com o objeto global application (a partir do delphi5)
porem como parece ser simples o que voce quer ,podemos usar o evento (OnActive dos formularios)
voce disse que:
voce deve substitui esta linha de codigo e escrever no evento OnActive de cada formulario a seguinte instrução
procedure TPRINCIPAL.FormActivate(Sender: TObject); begin PRINCIPAL.StatusBar1.Panels[0].Text:=(sender as tform).caption; end;
procedure TCADASTRO.FormActivate(Sender: TObject); begin PRINCIPAL.OnActivate(sender); end;
procedure TTRAMITE.FormActivate(Sender: TObject); begin PRINCIPAL.OnActivate(sender); end;
e claro que para isto compilar os devidos formularios devem ser definidos na secção uses correpondentes
mas digo mais , existemmuitas formas de se realizar isto...
19/02/2006
Jrcosmoluis
[b:d29caae500]Edilcimar[/b:d29caae500] mais uma vez obrigado pela sugestão e [b:d29caae500]Marco Salles [/b:d29caae500]eu conseguir fazer (com ajuda é claro) dessa forma aí em baixo. E como você mesmo disse, tem varias maneiras de se fazer... agora vou testar a sua também.
Obrigado pela ajuda e atenção.
PARA COLOCAR O NOME DO FORMULÁRIO NO STATUSBAR DO FORM PRINCIPAL
1 – CRIA A “PROCEDURE AOTROCARFORM”;
[b:d29caae500]procedure tform1.aotrocarform(sender: tobject);
begin
statusbar1.panels[1].text := screen.activeform.caption;
end;[/b:d29caae500]
2 – NO EVENTO ONACTIVE DO FORMULÁRIO PRINCIPAL COLOQUE CÓDIGO ABAIXO:
[b:d29caae500]procedure tform1.formcreate(sender: tobject);
begin
screen.onactiveformchange := aotrocarform;
end;[/b:d29caae500]
3 – E POR FIM NO EVENTO ONDESTROY DO FORMULÁRIO PRINCIPAL COLOQUE CÓDIGO ABAIXO:
[b:d29caae500]procedure tform1.formdestroy(sender: tobject);
begin
screen.onactiveformchange := nil;
end;[/b:d29caae500]
DICA FUNCIONOU LEGAL
Clique aqui para fazer login e interagir na Comunidade :)