Dúvida com Form MDI
Olá,
Estou com um problema e precisando de ajuda, tenho um programa onde estou utilizando os forms MDI, o que preciso é o seguinte, imaginem os forms f_clientes, f_produtos, f_orcamentos e novamente f_clientes foram aberto no sistema, eu preciso fazer um recurso onde o usuário possa alternar entre este form´s como o alt+tab do windows. Pensei no seguinte, criar um botão em uma barra assim q o form for aberto, e ai clicar neste botão o form viria para frente dos outros.
Se alguém tiver uma solução ficarei agradecido.
Edeilson A. Silveira.
MSN: edeilson.s@hotmail.com
Estou com um problema e precisando de ajuda, tenho um programa onde estou utilizando os forms MDI, o que preciso é o seguinte, imaginem os forms f_clientes, f_produtos, f_orcamentos e novamente f_clientes foram aberto no sistema, eu preciso fazer um recurso onde o usuário possa alternar entre este form´s como o alt+tab do windows. Pensei no seguinte, criar um botão em uma barra assim q o form for aberto, e ai clicar neste botão o form viria para frente dos outros.
Se alguém tiver uma solução ficarei agradecido.
Edeilson A. Silveira.
MSN: edeilson.s@hotmail.com
Edeilson.s
Curtidas 0
Respostas
Dbergkamps10
27/01/2008
Olá,
Estou tb com esse mesmo problema. Tô tentando fazer uma rotina pra criar um menu janela (parecido com aquele do Word). assim q tiver aqui posto aqui ou me mande um e-mail dbergkamps@hotmail.com.
Att
Dalton
Estou tb com esse mesmo problema. Tô tentando fazer uma rotina pra criar um menu janela (parecido com aquele do Word). assim q tiver aqui posto aqui ou me mande um e-mail dbergkamps@hotmail.com.
Att
Dalton
GOSTEI 0
Dbergkamps10
27/01/2008
Olá,
consegui terminar minha procedure.
Passos:
1 - Adicione no MenuItem um Item com Caption de Janela;
2 - Declare as seguintes procedures no seu Form Principal:
Nos eventos OnShow e OnDeactivate de cada Form MDI chame a procedure ´ControlaJanela´; Não esqueça de liberar os forms da memória quando fecha-los (com free, nil e release), pq se não a procedure pode não funcionar.
Comigo deu certo, espero q com quem tentar tb.
Att
Dalton :wink: :wink: :wink: :wink:
consegui terminar minha procedure.
Passos:
1 - Adicione no MenuItem um Item com Caption de Janela;
2 - Declare as seguintes procedures no seu Form Principal:
procedure TFmPrincipal.ControlaJanela; //essa procedure cria e destroi os itens do menu var NewItem: TMenuItem; i : integer; begin MainMenu1.Items.Items[6].clear; for i := 0 to (Screen.FormCount -1) do if screen.Forms[i].Showing=true then begin NewItem:=TMenuItem.Create(FmPrincipal.MainMenu1); NewItem.Caption:=Screen.Forms[i].Caption; FmPrincipal.MainMenu1.Items.Items[6].add(NewItem); newitem.OnClick:=giveclick; end; end; procedure TFmPrincipal.GiveClick(Sender: TObject); // essa procedure atribui o evento onclick para cada item criado através da procedure anterior. var i: integer; begin for i:=0 to (Screen.FormCount -1) do begin if screen.Forms[i].Showing=true then if Screen.Forms[i].Caption = TMenuItem(Sender).Caption then Screen.Forms[i].BringToFront; end; end;
Nos eventos OnShow e OnDeactivate de cada Form MDI chame a procedure ´ControlaJanela´; Não esqueça de liberar os forms da memória quando fecha-los (com free, nil e release), pq se não a procedure pode não funcionar.
Comigo deu certo, espero q com quem tentar tb.
Att
Dalton :wink: :wink: :wink: :wink:
GOSTEI 0
Aasn
27/01/2008
Olá pessoal,
Quando tempo mais de uma janela MDI aberta, podemos alternar entre elas usando o Ctrl + Tab.
[]´s
AASN
Quando tempo mais de uma janela MDI aberta, podemos alternar entre elas usando o Ctrl + Tab.
[]´s
AASN
GOSTEI 0