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.


Programadormaster

Programadormaster

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.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar