Tamanho do Form - Heigth

Delphi

12/01/2004

Tenho a seguinte instrução no Form1
-Form 2.Heigth := 290;
-Form2.Panel1.visible := true;
-Form2.Panel2.visible := false;
-Form2.Panel3.visible := true;
A rotina serve para mim aumentar ou diminuir o tamanho do form2, dependendo de quais os panels vou mostrar.
O problema é que, em determinadas máquinas, principalmente em Windows XP, o form2 mostra os dois painéis, mas o seu tamanho (heigth) não é alterado, mostrando o último painel só pela metade.
Acho que não é problema de resolução de vídeo, pois já tentei várias configurações.


Valdirdill

Valdirdill

Curtidas 0

Respostas

Cebikyn

Cebikyn

12/01/2004

Tente modificar a altura do form baseando-se no tamanho dos forms, e não em valores pré-definidos.


GOSTEI 0
Cebikyn

Cebikyn

12/01/2004

Correção:

Tente modificar a altura do form baseando-se no tamanho dos [b:0d81da1e1f]panels[/b:0d81da1e1f], e não em valores pré-definidos.


Na verdade, agora que pensei melhor, vc não deve usar Form2.Height, deve usar Form2.ClientHegith. No WinXP o tamanho de CYCAPTION é diferente de outros S.O., e usando ClientHeight, vc não precisará se preocupar com detalhes do sistema operacional. Para converter seu número atual para o número correspondente, faça um programa auxiliar para lhe fornecer os valores de CYCAPTION e CYFRAME para seu sistema operacional e depois subtraia os valores encontrados do valor que está usando.


GOSTEI 0
POSTAR