USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Resolução de monitor
André
não registrado
Postada em 02/07/2006 20:06 hs   
Através de código pegar a resolução do vídeo e manipular a o tamanho da tela do sistema, por exemplo se um deterninado tamanho eu coloco maximizado se não então eu coloco no modo normal, tem como?
     
Msmarcus_RJ
RIO DE JANEIRO
RJ - BRASIL
Postada em 03/07/2006 00:09 hs         
Código gerado por Mim abaixo:

 
Sub SCREENSIZE()
    Dim resolucao
    Dim iWidth As Integer
    Dim iHeight As Integer
   
    iWidth = Screen.Width / Screen.TwipsPerPixelX
   
    iHeight = Screen.Height / Screen.TwipsPerPixelY
   
    resolucao = iWidth & "X" & iHeight
       
           
            MsgBox "A resolução de seu monitor é " & resolucao, vbInformation + vbOKOnly, "Resolução do Monitor"
            Unload Me
            End
End Sub
 
Private Sub Form_Load()
SCREENSIZE
End Sub

Obs: Através deste código você fica sabendo qual é a sua resolução de TELA. Eu por enquanto não achei uma forma para que o PROGRAMA possa se adaptar automáticamente. Já ví placas de vídeo que permitem a resolução do monitor a irem resoluções monstruosas, mas pena que ainda eu não descobri uma forma para fazer a adaptação.

t++

Marcus Vinícius

--edited--

-------------------

Caso deseja mudar a resolução de Tela
Clique aqui para baixar um projeto enviado para área de "Troca de Arquivos" do VBWEB.

t++

Marcus Vinícius

______________________________
Resolveu ? Tópico Trancado!

TÓPICO EDITADO
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
Postada em 03/07/2006 01:42 hs            
MsMarcus, isto é um problema sério para o tamanho que fica o aplicativo dependendo da resolução, mas veja a solução que encontrei:
Voce faz em baixa resolução, por exemplo eu faço em 800x600:
Nomei duas variaveis públicas do Tipo Long
lHEIGHT e lWIDTH
atribua a elas o valor de 1.
pega a resolução da tela e faz um cálculo assim:
 lHEIGHT = (yPixels / 600)
 lWIDTH = (xPixels / 800)
Depois no Load de cada formulário:
 Me.height = (lHEIGHT * 9000)  ou o que quiser
 Me.Width = (lWIDTH * 12000)  idem
 ai chama uma função publica que altere o tamanho dos controles, tomando o cuidado de verificar que determinados controles não aceitam algumas propriedades, por exemplo Menus.
Não ficou 100 por cento, mas chegou bem perto, quando a resolução é muito alta, mas nota-se muito pouco, os formulários se adaptam bem, e nos controles são minimas as diferenças.
 
vlu//
 
     
Msmarcus_RJ
RIO DE JANEIRO
RJ - BRASIL
Postada em 03/07/2006 09:21 hs         
A sua idéia é até que interessante só que eu não consegui gerar da sua idéia um código correto.

Se der pode colocar aqui está idéia mais legível ?


t++

Marcus Vinícius

______________________________
Resolveu ? Tópico Trancado!

     
André
não registrado
ENUNCIADA !
Postada em 04/07/2006 00:07 hs   
Valeu pela dica, me foi muito útil Msmarcus, era exatamente o que eu estava precisando,
pegeu seu código fonte e adptei a minha necessidade, estou enviando de volta com a adptação;
Sub ScreenSize()
Dim Resolucao
Dim Xi As Integer
Dim Yi As Integer
Xi = Screen.Width / Screen.TwipsPerPixelX
Yi = Screen.Height / Screen.TwipsPerPixelY
Resolucao = Xi & "x" & Yi
'CASO A RESOLUÇÃO FOR MAIOR QUE 1024
ENTÃO O MDI ABRE NO MODO NORMAL
If Xi > 1024 Then
MDI_principal.WindowState = 0
'MDI_principal.StartUpPosition = 3
'SENÃO ABRE MAXIMIZADO
ElseIf Xi <= 1024 Then
MDI_principal.WindowState = 2
End If
End Sub
Agora sem quere abusar, tem como descobrir se o monitor é de 15'' ou maior que para que
se possa adaptar este rotina?
Um abraço e muito obrigado.
   
Msmarcus_RJ
RIO DE JANEIRO
RJ - BRASIL
Postada em 04/07/2006 01:00 hs         
Olha, ainda não procurei sobre este assunto, mais creio que o tamanho do monitor senodo 15" não interfira na sua adaptação que você fez pois o próprio Formulário se ajusta automáticamente de acordo com o tamanho de cada monitor.

E além do mais, não sei se é possivel detecta qual é o tamanho de um monitor..

Sinto muito...


t++

Marcus Vinícius

-- Ainda não se cadastrou no VBWEB ? o que está esperando ? é de graça. --
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página