Fórum Form MDI Child somente na area do MDI, nao alem... #299488
14/10/2005
0
Abracos,
Alcantarus
Alcantarus
Curtir tópico
+ 0Posts
14/10/2005
Massuda
Gostei + 0
15/10/2005
Alcantarus
Caro Massuda,
Foi de grande valia sua sugestao, inclusive incluir todos os dois codigos desse post acima, porem, eu ainda queria QUE, se possivel, que o MDI Child ficasse ´totallmente´ LIMITADO somente a area do form pai. Tipo: Sempre que eu maximizar o Form Filho, no modelo convencional, ele maximiza, atingindo a area do Form Pai, quero que ele SOMENTE maximize na area ´delimitada´ pelo Form Pai, ficando assim, aparecendo a barra de titulo no FormFilho.Top := 0, FormFilho.Left := 0, preenchedo o restante da area do FormPai ao ser maximizado...
Nao sei se deu pra vc entender... mas.... se pudesse me ajudar, agradeco muito.
Abracos e felicidades,
Alcantarus.
Gostei + 0
16/10/2005
Massuda
Gostei + 0
17/10/2005
Alcantarus
Prezado amigo,
Ainda nao ficou claro para mim :? ... bem, desculpe-me por incomoda-lo com esse incansavel assunto, mas, nao tenho outro a recorrer, e tb esse eh o melhor forum que conheco... bem, vamos ao assunto...
Por favor, gostaria que vc analizasse essa imagem abaixo.
[URL=http://img288.imageshack.us/my.php?image=formpaiformfilho6fv.jpg][img:95a218596a]http://img288.imageshack.us/img288/8717/formpaiformfilho6fv.th.jpg[/img:95a218596a][/URL]
Grato,
Alcantarus
Gostei + 0
17/10/2005
Massuda
Você tem duas saídas....
* usar a API do Windows para não maximizar o form, mas sim fazer ele ocupar todo o espaco disponível; isso envolve interceptar diferentes mensagens que resultam no form maximizado.
* abandonar MDI.
Sobre a segunda opção... Se você vai permitir apenas um único form aberto dentro do form principal, ocupando todo o espaço visível, então não faz sentido usar MDI; use SDI e faça os diferentes forms do programa serem embutidos no form principal.
Gostei + 0
17/10/2005
Alcantarus
Tem algum exemplo para tal?
Grato,
Alcantarus.
Gostei + 0
17/10/2005
Alcantarus
Resolvido.
Gostei + 0
17/10/2005
Massuda
Com relação aos forms secundários (ou filhos se você preferir), não deixe eles na lista de auto-create, mas sim crie eles quando for exibi-los fazendo algo assim:
var MeuFormFilho: TFormFilho; ... MeuFormFilho := TFormFilho.Create(nil); MeuFormFilho.Parent := MeuFormPrincipal; MeuFormFilho.Align := alClient; ...
Provavelmente será mais fácil trabalhar com os forms filhos que você criar uma hierarquia de classes (um form filho base e forms filhos descendentes que são especializados).
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)