Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Resolução de video


Alberto Mota

Question

Prezados colegas, estou usando o Delphi 7

e no meu notebook os forms abrem adequadamente.

Pesquisei e não encontrei uma solução.

Coloquei uma imagem na tela de login e abre perfeito.

Entretanto noutro computador abre desconfigurado.

Ou seja, sua largura fica bem maior, o grid se expande, os botões ficam maiores.

Tudo praticamente se alarga. Os bitbtns, os dbgrids.

Tentei alterar a resolução e não adiantou.

As propriedades borderstyle e position tentei todas.

Usei uma função do Jhonas para resolução e tambem nada.

O que melhora pouca coisa é colocar no evento ao criar do form

as suas dimensões: largura, altura, topo, esquerda, etc.

Mas fazer isso em todos os forms é insano, uma vez que são muitos forms e controles.

Como posso resolver isso?

Desde já, obrigado

Edited by Alberto Mota
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Obrigado por responder Jhonas,

Infelizmente no outro computador, onde a tela é bem maior

não abre conforme coloquei na função 800 X 600.

A resolução de video no outro pc esta 1280 X 1024

Vale dizer que meu notebook possui resoluções diferentes.

Li com atenção o tópico que sugeriu, segui todos os passos.

Coloquei no form de Login e no de vendas(apenas nesses 2) as funções de resolução.

Tenho outros sistemas em outras empresas e não acontece nada disso.

O que faço no meu pc de desenvolvimento aparece tal e qual nesses lugares.

Apenas no pc de um novo cliente e em outro que possuo para testes, num monitor maior

que o notebook esta acontecendo isso.

Sinceramente tentei de tudo.

Link to comment
Share on other sites

  • 0

a resolução 800 X 600 é usada apenas para padronizar a tela para outros monitores de video

vamos supor que o seu monitor de trabalho esteja com a resolução de 1024 X 768 e que voce considera que essa resolução seja a ideal .... se voce configurar a função ( codigo do programa ) como valores padrão

 
Uses TypInfo;

const
  sw : longint = 1024;
  sh : longint = 768;

procedure TForm1.FormCreate(Sender: TObject);
var i , w : integer;
begin
  w := width; // automatico ou pode usar a constante sh
  Scaled := true;
  if (Screen.width <> sw) then
     Scaleby(screen.width,sw);

  for i := ComponentCount-1 downto 0 do
     with Components[i] do
       begin
         if GetPropInfo(ClassInfo, 'Font') <> nil then
           Font.Size := (width div w) * font.Size;
       end;

end;

ao rodar o programa em um monitor que esteja definido como 1280 X 1024, a resolução automaticamente será de

1024 X 768 ( a que voce definiu no código ) ... então todos os seus forms deverão estar configurados para usar 1024 X 768.

 

Citar
Apenas no pc de um novo cliente e em outro que possuo para testes, num monitor maior

que o notebook esta acontecendo isso.

isso acontece naqueles monitores onde a largura é quase o dobro da altura

veja esse exemplo:

fullscreen.jpg

observe que se voce usou um monitor de trabalho Formato Fullscreen 4:3 / 5:4 (quadrado), ao utilizar um monitor no Formato Widescreen 16:10 / 16:9 (HD ou Cinema), as bordas dos forms ficarão fora da tela

então quando voce usa um monitor que esta dentro do padrão do seu monitor, funciona sem problemas

tente essa dica:

http://www.planetadelphi.com.br/dica/6803/ajuste-automatico-da-resolu%C3%A7%C3%A3o

abraço

 

 

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...