dilema resolução 1024x768 para 800x600
olá caros programadores
sei que esse assunto já foi muito debatido mas....
alguém sabe uma forma funcional e eficiente p/ sistemas desenvolvidos em resolução 1024x768
tentei de tudo nada deu resultado aceitavel
a questão é?
como fazer um sistema em 1024 aproveitando totalmente o espaço do form e caso alguém use ele em 800 não perca componentes com a redução.
está foras de questão eu obrigar todos os clientes usarem todos os pc 1024 pois é meu software que se adpata ao cliente não o contrário.
fazer um sistema que ajuste a resolução tem duas falhas
1º se a placa não suportar
2º caso o sistema seja interrompido como voltar a configuração original
fazer o sistem em 800 x 600 ai quando alguem for usar em 1024 o que acontece ? o mesmo problema so que o inverso.
então amogos eu pergunto. O QUE FAZER?
sei que esse assunto já foi muito debatido mas....
alguém sabe uma forma funcional e eficiente p/ sistemas desenvolvidos em resolução 1024x768
tentei de tudo nada deu resultado aceitavel
a questão é?
como fazer um sistema em 1024 aproveitando totalmente o espaço do form e caso alguém use ele em 800 não perca componentes com a redução.
está foras de questão eu obrigar todos os clientes usarem todos os pc 1024 pois é meu software que se adpata ao cliente não o contrário.
fazer um sistema que ajuste a resolução tem duas falhas
1º se a placa não suportar
2º caso o sistema seja interrompido como voltar a configuração original
fazer o sistem em 800 x 600 ai quando alguem for usar em 1024 o que acontece ? o mesmo problema so que o inverso.
então amogos eu pergunto. O QUE FAZER?
Crcam
Curtidas 0
Respostas
Rodc
17/04/2006
ScaleBy(Screen->Width, 1024);
Talvez você tenha que ajustar uma ou outra coisa nos componentes após rodar o código acima.
Poste aqui depois falando se funcionou.
GOSTEI 0
Crcam
17/04/2006
não entendi seu raciocínio.
o esse codigo faz ?
o esse codigo faz ?
GOSTEI 0
Crcam
17/04/2006
vc fala fazer no ative
ScaleBy(Width, 1024);
isso????
ScaleBy(Width, 1024);
isso????
GOSTEI 0
Rodc
17/04/2006
Opa, foi mal, este é o código em C++. Rss....
Este código ajusta a propriedade Width, Height e Font.Size dos componentes que estão no Form. Execute o código no OnCreate do Form.
Os parâmetros são a relação da mudança.
ScaleBy(Tamanho_desejado, tamanho atual);
Screen.Width traz a largura da resolução do vídeo, no caso 800, e 1024 é a resolução que os componentes estão.
Form1.ScaleBy(Screen.Width, 1024);
Este código ajusta a propriedade Width, Height e Font.Size dos componentes que estão no Form. Execute o código no OnCreate do Form.
Os parâmetros são a relação da mudança.
ScaleBy(Tamanho_desejado, tamanho atual);
Screen.Width traz a largura da resolução do vídeo, no caso 800, e 1024 é a resolução que os componentes estão.
GOSTEI 0
Crcam
17/04/2006
vou fazer um demo e testar
vc sabe se tem componente que ele não ajusta e se funciona em form pai e form filho
vc sabe se tem componente que ele não ajusta e se funciona em form pai e form filho
GOSTEI 0
Rodc
17/04/2006
Não sei se funciona automaticamente em forumlário filho, mas é só rodar este código no filho que funcionaria.
Eu uso componentes de terceiros e alguns a propriedade Font se chama DefaultFont, neste caso, tenho que rodar o código abaixo para ajustar.
Eu uso componentes de terceiros e alguns a propriedade Font se chama DefaultFont, neste caso, tenho que rodar o código abaixo para ajustar.
for i= ComponentCount - 1 downto 0 do begin if Components[i] is TbsSkinComboBox then (TbsSkinComboBox(Components[i]).DefaultFont.Size := MulDiv(TbsSkinComboBox(Components[i]).DefaultFont.Size, Screen.Width, 1024); end;
GOSTEI 0
Titanius
17/04/2006
Amigos, me interessou esta discussão, tenho só uma pergunta... eu coloquei o codigo no Form principal, ok.. nao senti diferença ainda pois nao mudei minha resolução.. mas eu fui e coloquei nos Forms Filhos, e deu erro de memoria... eu devo colocar isso em um unico form, e ele herda para todos?
[]s
[]s
GOSTEI 0
Rodc
17/04/2006
Quando você dizem Form filho estão falando de aplicação MDI, certo?
Se for apenas formulários, onde um form principal chama outro, não é para acontecer erro. Em aplicação MDI eu nunca tentei.
Se for apenas formulários, onde um form principal chama outro, não é para acontecer erro. Em aplicação MDI eu nunca tentei.
GOSTEI 0
Crcam
17/04/2006
nota 10 para vc!!!!!!!!!!!
em uma linha vc resolver o tormento de resolução eu fiz um demo testei de todas forma nas duas configurações ficou muito bom....
para os colegas que estão lendo esse topico se quiserem o dmeo até eu colocar no meu site mande um e-mail ou um mp eu mando o demo que testa a maior parte dos componentes e forma de aplicar eles.
em uma linha vc resolver o tormento de resolução eu fiz um demo testei de todas forma nas duas configurações ficou muito bom....
para os colegas que estão lendo esse topico se quiserem o dmeo até eu colocar no meu site mande um e-mail ou um mp eu mando o demo que testa a maior parte dos componentes e forma de aplicar eles.
GOSTEI 0
Titanius
17/04/2006
Quando você dizem Form filho estão falando de aplicação MDI, certo?
Se for apenas formulários, onde um form principal chama outro, não é para acontecer erro. Em aplicação MDI eu nunca tentei.
MAs tipo... se eu colocar somente no principal, funciona pra todas as mdi_child? pois coloquei o mesmo codigo nas child e deu violacao de memoria... :(
[]s
GOSTEI 0
Rodc
17/04/2006
Implementei no exemplo de aplicação MDI que vem com o Delphi e funcionou normalmente. Mas tive de colocar um código na tela principal e outro na tela Child. Faça um novo projeto e compare entre seus dois aplicativos para ver o que pode estar acontecendo.
GOSTEI 0
Titanius
17/04/2006
Implementei no exemplo de aplicação MDI que vem com o Delphi e funcionou normalmente. Mas tive de colocar um código na tela principal e outro na tela Child. Faça um novo projeto e compare entre seus dois aplicativos para ver o que pode estar acontecendo.
aqui deu o mesmo erro... vc coloca este codigo onde? no oncreate?
[]s
GOSTEI 0
Titanius
17/04/2006
Fucionou.. fechei e abri novamente o delphi e funcionou... ele funciona perfeitamente, mas nao para os controles (button, list e etc..).. :(
Existe algo para isso...?
[]s
Existe algo para isso...?
[]s
GOSTEI 0
Leox
17/04/2006
Uma outra solução que estou testando é usar o componente TFlowPanel que vem no Delphi 2006, como ele quando vc muda de resolução ou redimensiona o form os controles que estão ele são ajustados automaticamente, vale a pena testar...
GOSTEI 0
Crcam
17/04/2006
eu fiz um demo que funciona legal e já implementeni em uns projetos até agora não deu erro se quiser eu envio o demo...
quais componentes que vc falou que não sou não dava eu coloco nesse temo e testo
eu testei até com gif e ficou legal
quais componentes que vc falou que não sou não dava eu coloco nesse temo e testo
eu testei até com gif e ficou legal
GOSTEI 0
Rodc
17/04/2006
... ele funciona perfeitamente, mas nao para os controles (button, list e etc..).. :(
No meu código ele faz sem problema o TButton e o TList. Qualquer componente que tenha Height e Width deveria funcionar (eu acho!).
GOSTEI 0