Fórum comportamento estranho: MdiChild,TPanel,TImage em Aplicação #330597
03/10/2006
0
Atores:
Num Form (principal formStyle = mdiform) tenho um Tpanel (meramente para efeito visual) e um Timage onde carrego a imagem do cliente e um componente TOUTLOOKBAR da MxComponentes.
Comportamento estranho:
Se meus forms (mdChild´s) forem setados como mdichild, ao chamá-los eles aparecem em baixo do TPanel, não na frente do Tpanel! Para Conseguir isso coloco-os como FormStyle = StayOnTop. Se tirar o Panel e o TImage tudo é exibido corretamente.
Daí fica a pergunta, Alguma propriedade, manha, dica, reza ou até mesmo bruxaria pra resolver isso? Teria algo a ser feito?
Agradeço aos que contribuírem! :D
Microbios
Curtir tópico
+ 0Posts
05/10/2006
Microbios
Gostei + 0
05/10/2006
Massuda
Gostei + 0
05/10/2006
Massuda
Gostei + 0
06/10/2006
Microbios
Chato isso né? Assim não dá pra ter um visual legalzin... Teria alguma idéia pra ´contornar´ isso?
Valeu Massuda.... :D
Gostei + 0
06/10/2006
Massuda
(Por favor, se for postar uma imagem, tenha dó de quem tem conexão discada e procure usar uma imagem pequena)
Gostei + 0
06/10/2006
Microbios
Gostei + 0
07/10/2006
Micheus
Estudando o código da criação do form quando o formato é MDI, observei que a área interna do MainMDI tem uma janela(sub-janela digamos assim), cujo handle é armazenado em ClientHandle.
Então usando a função SetParent da unit Windows, dá para definir esta janela como parent dos componentes que vc ´supostamente´ teria colocado sobre ela.
No create do main MDI basta chamar SetParent para os componentes que você colocou neste form. No meu exemplo adicionei StringGrid, GroupBox e Panel, ficando assim:
procedure TForm1.FormCreate(Sender: TObject); begin Windows.SetParent(StringGrid1.Handle, ClientHandle); Windows.SetParent(GroupBox1.Handle, ClientHandle); Windows.SetParent(Panel1.Handle, ClientHandle); end;
[]s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)