Minimizar Form
Bom Dia Galera!!!
Eu tenho um projeto onde contem uma aplicação(Menu) e 10 forms nela.
Eu não consigo minimizar separadamente um form do Menu, se eu habilitar a opção de minimizar no form, ao executa-la ele minimiza no canto inferior esquerdo da tela e não habilita o menu, teria algum jeito de minimizar um form e habilitar o Menu??
Agradeço até o momento!!
Eu tenho um projeto onde contem uma aplicação(Menu) e 10 forms nela.
Eu não consigo minimizar separadamente um form do Menu, se eu habilitar a opção de minimizar no form, ao executa-la ele minimiza no canto inferior esquerdo da tela e não habilita o menu, teria algum jeito de minimizar um form e habilitar o Menu??
Agradeço até o momento!!
Fernando Kerber
Curtidas 0
Melhor post
Deivison Melo
23/09/2013
O que você está querendo não é uma aplicação MDI ou SDI não?
Se o show ao invés do showmodal não chega a abrir, provavelmente o seu método de abertura de formulários era showmodal e depois vc já libera da memória dando um freeandnil e ai ele mostra abrindo e já fecha.
Pesquise sobre MDI e SDI e veja se uma das forma se adequará ao que está querendo!
Abração e bons códigos!!
Se o show ao invés do showmodal não chega a abrir, provavelmente o seu método de abertura de formulários era showmodal e depois vc já libera da memória dando um freeandnil e ai ele mostra abrindo e já fecha.
Pesquise sobre MDI e SDI e veja se uma das forma se adequará ao que está querendo!
Abração e bons códigos!!
GOSTEI 1
Mais Respostas
Marcos Oliveira
23/09/2013
Fernando, bom dia!
Por acaso você está usando o "ShowModal" para mostrar o form? Porque se estiver, não vai ser possível fazer o que você quer.
Tente dar apenas um "Show", e me fale se vai dar certo.
Att,
Marcos
Por acaso você está usando o "ShowModal" para mostrar o form? Porque se estiver, não vai ser possível fazer o que você quer.
Tente dar apenas um "Show", e me fale se vai dar certo.
Att,
Marcos
GOSTEI 0
Fernando Kerber
23/09/2013
Realmente estou usando "ShowModal"
mas usando "Show" o form nem chega abrir.
Grato até o momento.
mas usando "Show" o form nem chega abrir.
Grato até o momento.
GOSTEI 0
Fernando Kerber
23/09/2013
Isso mesmo Deivison estou usando no "Try" o "ShowModal" e no "Finally" estou executando o ".Free", já estou lendo sobre MDI e SDI, quando souber como resolver eu posto aqui.
Agradeço a ajuda!!
Agradeço a ajuda!!
GOSTEI 0
Fernando Kerber
23/09/2013
Galera seguinte,
A propriedade FormStyle dos Forms estão como fsNormal coloquei de vários jeitos, fsMDIform, fsMDIChild, mas ainda deixei fsNormal, consegui minimizar o form e liberar o Menu, tirei o Try Finally e coloquei apenas Show em vez e ShowModal, ao minimizar eu posso abrir outro modulo no menu, agora o problema é que ele não minimiza na barra de tarefas, eu não sei se tem como fazer, mas se alguém souber vai me ajudar um monte!!!!
Obrigado!!
A propriedade FormStyle dos Forms estão como fsNormal coloquei de vários jeitos, fsMDIform, fsMDIChild, mas ainda deixei fsNormal, consegui minimizar o form e liberar o Menu, tirei o Try Finally e coloquei apenas Show em vez e ShowModal, ao minimizar eu posso abrir outro modulo no menu, agora o problema é que ele não minimiza na barra de tarefas, eu não sei se tem como fazer, mas se alguém souber vai me ajudar um monte!!!!
Obrigado!!
GOSTEI 1
Gustavo Bretas
23/09/2013
E ae Fernando, tranquilo?
Quando o vc minimiza o Formulário, a propriedade WindowState muda para wsMinimized, então para vc maximizar a tela, só alterar a propriedade WindowState para wsMaximized, ou wsNormal
Mas tem um ponto não abordado na sua dúvida que quero levantar. Quando deixa de usar ShowModal e liberar o formulário da memória assim que o formulário é fechado, como vc fazia, vc deve tomar alguns cuidados para não manter lixo na memória. Nesse caso, no evento OnClose do formulário, coloque a ação para liberar o formulário, recomendo que vc tenha um formulário "pai", para que no futuro quando for criar outros formulários, vc não tenha que se preocupar com liberar eles da memória.
Espero ter ajudado!
Quando o vc minimiza o Formulário, a propriedade WindowState muda para wsMinimized, então para vc maximizar a tela, só alterar a propriedade WindowState para wsMaximized, ou wsNormal
if not Assigned(Form2) then begin Form2 := TForm2.Create(Self); Form2.Show; end else Form2.WindowState := wsNormal;
Mas tem um ponto não abordado na sua dúvida que quero levantar. Quando deixa de usar ShowModal e liberar o formulário da memória assim que o formulário é fechado, como vc fazia, vc deve tomar alguns cuidados para não manter lixo na memória. Nesse caso, no evento OnClose do formulário, coloque a ação para liberar o formulário, recomendo que vc tenha um formulário "pai", para que no futuro quando for criar outros formulários, vc não tenha que se preocupar com liberar eles da memória.
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end;
Espero ter ajudado!
GOSTEI 0
Fernando Kerber
23/09/2013
Dai Bretas,
Primeiramente muito obrigado por me lembrar desse pequeno detalhe de limpar a memoria, kkkkk
esse código não deu certo, na verdade acho que não é bem isso, o que eu quero é apenas minimizar na barra de tarefas, o formulário já esta minimizando mas não esta ficando no barra de tarefas.
Ainda estou a busca.
Muito Obrigado pela dica Bretas!!
Primeiramente muito obrigado por me lembrar desse pequeno detalhe de limpar a memoria, kkkkk
esse código não deu certo, na verdade acho que não é bem isso, o que eu quero é apenas minimizar na barra de tarefas, o formulário já esta minimizando mas não esta ficando no barra de tarefas.
Ainda estou a busca.
Muito Obrigado pela dica Bretas!!
GOSTEI 0
Fernando Kerber
23/09/2013
Não deu ainda
GOSTEI 0
Gustavo Bretas
23/09/2013
É, eu não tinha entendido bem o que vc quer, desculpa!
A muito tempo atrás, quando eu trabalhava em uma empresa que mantinha alguns formulários em DLL, quando abria os formulários da DLL a janela "ia" para a barra de tarefas. Acredito que seja por conta do contexto diferente, não sei explicar o conceito!
Faça esse teste, coloque o formulário que vc quer em um DLL e faça a chamada, pra ver no que dá!
Boa sorte!
A muito tempo atrás, quando eu trabalhava em uma empresa que mantinha alguns formulários em DLL, quando abria os formulários da DLL a janela "ia" para a barra de tarefas. Acredito que seja por conta do contexto diferente, não sei explicar o conceito!
Faça esse teste, coloque o formulário que vc quer em um DLL e faça a chamada, pra ver no que dá!
Boa sorte!
GOSTEI 0