MainMenu ???
18/12/2003
0
Boa Tarde,
Gostaria de saber como eu faço p/criar em tempo de execução um Menu...utilizando o MainMenu ??? eu gostaria de montar ele conforme os programas que eu tenho no banco de dados...
grato.
Gostaria de saber como eu faço p/criar em tempo de execução um Menu...utilizando o MainMenu ??? eu gostaria de montar ele conforme os programas que eu tenho no banco de dados...
grato.
Programadormaster
Curtir tópico
+ 0
Responder
Posts
18/12/2003
Nigro
Olá amigo, aqui vai minha dica, espero que não tenha a mesma dúvida que eu...
No botão que abre o Form fsMDIChild coloque a seguinte rotina:
procedure TForm1.Button2Click(Sender: TObject);
begin
if Form3 = nil then begin
Application.CreateForm(TForm3, Form3);
end;
Form3.Show;
end;
Agora no Form que vc está abrindo (Form3, por exemplo) coloque as seguintes rotinas nos respectivos eventos:
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Janelas1.Remove(ItemNew);
action := caFree;
Form3 := nil;
end;
procedure TForm3.FormShow(Sender: TObject);
begin
ItemNew := TMenuItem.Create(Self);
ItemNew.Caption := ´Form3´;
ItemNew.OnClick := Form1.Button3.OnClick;
Form1.Janelas1.Add(ItemNew);
end;
Declare a variável ´ItemNew: TMenuItem´, na seção private do Form3.
E não se esqueça de colocar ´Menus´ na cláusula uses do Form3.
E também que vc deve tirar o Form3 da opção Auto-Create Forms, colocando o na opção Available Forms, em Project > Options > Forms.
Agora vc poderá abrir e fechar os Form´s sem problemas.
Se alguém tiver algum problema, me envie um e-mail, com os possíveis problemas e/ou soluções encontrados.
Estas rotinas também valem para os Form´s no estilo fsNormal.
No botão que abre o Form fsMDIChild coloque a seguinte rotina:
procedure TForm1.Button2Click(Sender: TObject);
begin
if Form3 = nil then begin
Application.CreateForm(TForm3, Form3);
end;
Form3.Show;
end;
Agora no Form que vc está abrindo (Form3, por exemplo) coloque as seguintes rotinas nos respectivos eventos:
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Janelas1.Remove(ItemNew);
action := caFree;
Form3 := nil;
end;
procedure TForm3.FormShow(Sender: TObject);
begin
ItemNew := TMenuItem.Create(Self);
ItemNew.Caption := ´Form3´;
ItemNew.OnClick := Form1.Button3.OnClick;
Form1.Janelas1.Add(ItemNew);
end;
Declare a variável ´ItemNew: TMenuItem´, na seção private do Form3.
E não se esqueça de colocar ´Menus´ na cláusula uses do Form3.
E também que vc deve tirar o Form3 da opção Auto-Create Forms, colocando o na opção Available Forms, em Project > Options > Forms.
Agora vc poderá abrir e fechar os Form´s sem problemas.
Se alguém tiver algum problema, me envie um e-mail, com os possíveis problemas e/ou soluções encontrados.
Estas rotinas também valem para os Form´s no estilo fsNormal.
Responder
Clique aqui para fazer login e interagir na Comunidade :)