Fórum redimensionar form scaleBy nao funciona #357604
25/04/2008
0
Estou precisando adaptar uim sistema para uma empresa que nao tem padrao de computadores logo temos varias configuracoes de monitores crt 15 polegadas a lcd de 19.
a versao do meu delphi e o bds 2006
e meu equipamento de producao e um notebook de 15 polegadas wide com resolucaod e 1280 x 800
peguei aquele exemplo classico de redimensionamento de forms aqui mesmo no forum e nao funiona quando testo com outras resolucoes como 800 x 600 e 1024 x 768
segue abaixo o codigo:
implementation const ScreenWidth: LongInt = 1280; ScreenHeight: LongInt = 800;
procedure TForm3.FormCreate(Sender: TObject); var i: integer; begin scaled := true; if (screen.width <> ScreenWidth) then begin height := longint(height) * longint(screen.height) DIV ScreenHeight; width := longint(width) * longint(screen.width) DIV ScreenWidth; scaleBy(screen.width, ScreenWidth); for i := componentCount - 1 downto 0 do with components[i] do begin if GetPropInfo(ClassInfo, ´font´) <> nil then font.size := (screen.width DIV ScreenWidth) * font.size; end; end; end;
Deixo a font como arial, deixo o espaco de apoximadamente 5 px entre os componentes, deixo a propriedade parantfont = true e autosize do form e dos componenets = true e quando mudo a resolucao o que acontece e o seguinte, o tamanho do form e redimensionado, os componentes tambem, mas acabam um em cima do outro mesmo com espacos grandes e a font dos componentes ficam gigantes
queria saber se algum tem algum exemplo que pudesse me enviar, um exemplo para testar, ou alguma dica de alguma coisa que esteja passando em branco e ainda nao percebi
desde ja agrade a todos
um forte abraco
alineri
Alineri
Curtir tópico
+ 0Posts
25/04/2008
Pestana_
1-> ( http://forum.devmedia.com.br/viewtopic.php?t=76039&highlight=scaleby )
2-> ( http://forum.devmedia.com.br/viewtopic.php?t=94708&highlight=scaleby )
flw.
Gostei + 0
26/04/2008
Luciano.badoe
Este é o pior problema enfrentado por mim quando migrei de Clipper para Delphi, tentei todas as dicas aqui descritas e os meus resultados foram iguais aos seus.
Não sei mais oque fazer para resolver este problema.
Estas dicas de ScaleBy, etc... pergunto se alguém consegue fazer seus sistemas serem apresentados corretamente em resoluções diferentes.
Pois eu tentei de tudo e não consego.
Estou adotando uma atitude drástica e pouco recomendada. Estou alterando a resolução do cliente.
Gostei + 0
28/04/2008
Rodc
if (Screen.Width <> 800) then begin ScaleBy(Screen.Width, 794); end;
Outra coisa, você estão usando os componentes da VCL (TButton, TEdit, TLabel, etc...) ou é componentes de terceiros?[/code]
Gostei + 0
04/05/2008
Luciano.badoe
Eu uso componentes da VCL e da JEDI.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)