Fórum Formularios MDI #290847
05/08/2005
0
L3gion4rio
Curtir tópico
+ 0Posts
05/08/2005
Rjun
Para chamar seus forms, vc deve criá-los em runtime para depois exibi-los.
Form1 := TForm1.Create(Self); Form1.Show;
Não esqueça de destruir os forms quando você os fechar.
Gostei + 0
05/08/2005
L3gion4rio
Gostei + 0
12/08/2005
Mordred
frmCadFunc:=TfrmCadFunc.Create(Self); frmCadFunc.Show;
OK, o programa compila bonitinho, mas na hora em que eu clico no menu pra abrir o form, dá um erro de Access Violation na seguinte linha:
frmCadFunc.btnNovo.Enabled :=True;
Esta linha está dentro da procedure InicializaBotoes que é chamada no evento OnShow do form frmCadFunc. Enquanto depurava, notei que o valor da variável frmCadFunc estava nulo (nil).
O que eu fiz de errado? :?
Gostei + 0
12/08/2005
Bico
Troque a linha
frmCadFunc.btnNovo.Enabled :=True;
por
btnNovo.Enabled :=True;
ou
Self.btnNovo.Enabled :=True;
Atenciosamente,
Fernando.
Gostei + 0
12/08/2005
Mordred
Tenho certeza de que tem alguma coisa a ver com a criação do Form, mas não faço idéia do que seja. Porque tenho certeza? Bom, o form estava funcionando antes de eu passar ele pra MDI Child...
Será o Benedito?
Gostei + 0
12/08/2005
Bico
Dou uma olhada e retorno em seguida.
Gostei + 0
12/08/2005
Emerson Nascimento
frmCadFunc.Show; // o form mdichild é exibido automaticamente
e na sua procedure InicializaBotoes, deixe apenas:
btnNovo.Enabled := True;
Gostei + 0
12/08/2005
Mordred
If Application.FindComponent(´frmCadFunc´)=Nil Then Begin Application.CreateForm(TfrmCadFunc,frmCadFunc); frmCadFunc.Show; End; frmCadFunc.SetFocus;
Agora meu problema é o seguinte, meu form principal tinha um panel com um efeito de baixo relevo (só pra ficar mais bonitinho) e eu descobri que o form MDI Child não aparecia pq ficava encoberto pelo panel. Exclui o panel e tentei usar outros componentes (TBevel, TImage) mas eles simplesmente desaparecem quando executo a aplicação.
O que eu faço pra incrementar o visual do form MDI principal? É possível usar alguma coisa?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)