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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  ajuste da tela
Marcio
não registrado
Postada em 12/11/2004 09:17 hs   
pessoal meu sistema sestá configurado o video para 800x600, como faço para que o meu sistema verifique a resolução de video do usuário e altere para esta configuração

um abraço
     
Snake
Pontos: 2843
ITAJUBÁ
MG - BRASIL
Postada em 12/11/2004 09:47 hs         
Marcio,
vc quer que seu sistema adapte a resolução do video do usuario ou que a resolução de video do usuario seja alterada quando seu sistema for executado?
     
Marcio
não registrado
Postada em 12/11/2004 09:50 hs   
se adapte Snake

     
Mateus
AMADORA
PT - PORTUGAL
Postada em 12/11/2004 11:23 hs            
Para mudar a resolução:
 
Num módulo.bas
 
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
       Const CCDEVICENAME = 32
       Const CCFORMNAME = 32
       Const DM_PELSWIDTH = &H80000
       Const DM_PELSHEIGHT = &H100000
Private Type DEVMODE
       dmDeviceName As String * CCDEVICENAME
       dmSpecVersion As Integer
       dmDriverVersion As Integer
       dmSize As Integer
       dmDriverExtra As Integer
       dmFields As Long
       dmOrientation As Integer
       dmPaperSize As Integer
       dmPaperLength As Integer
       dmPaperWidth As Integer
       dmScale As Integer
       dmCopies As Integer
       dmDefaultSource As Integer
       dmPrintQuality As Integer
       dmColor As Integer
       dmDuplex As Integer
       dmYResolution As Integer
       dmTTOption As Integer
       dmCollate As Integer
       dmFormName As String * CCFORMNAME
       dmUnusedPadding As Integer
       dmBitsPerPel As Integer
       dmPelsWidth As Long
       dmPelsHeight As Long
       dmDisplayFlags As Long
       dmDisplayFrequency As Long
End Type
 
Public Sub ChangeRes(iWidth As Single, iHeight As Single)
Dim DevM As DEVMODE
Dim a As Boolean
Dim I As Long
Dim b As Long
    I = 0
    Do
        a = EnumDisplaySettings(0&, I&, DevM)
        I = I + 1
    Loop Until (a = False)
    DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
    DevM.dmPelsWidth = iWidth
    DevM.dmPelsHeight = iHeight
    b = ChangeDisplaySettings(DevM, 0)
End Sub
 
Para usar(eu uso no load do form principal):
 
Call ChangeRes(800, 600)
 
 

João Mateus

Se precisar de ajuda extra, visite:

http://joaomateus.planetaclix.pt

     
Marcio
não registrado
Postada em 12/11/2004 14:45 hs   
dá uma mensagem de erro only comments may appear after End Sub, End function, or end property
     
Mateus
AMADORA
PT - PORTUGAL
ENUNCIADA !
Postada em 13/11/2004 14:49 hs            
Desulpe mas misturei alhos com bugalhos, substitua toda a parte do módulo.bas por:
 
Private Declare Function EnumDisplaySettings Lib _
"user32" Alias "EnumDisplaySettingsA" _
(ByVal lpszDeviceName As Long, ByVal _
iModeNum As Long, lpDevMode As Any) As _
Boolean
Private Declare Function ChangeDisplaySettings Lib _
"user32" Alias "ChangeDisplaySettingsA" _
(lpDevMode As Any, ByVal dwflags As Long) _
As Long
Private Const CCDEVICENAME = 32
Private Const CCFORMNAME = 32
Private Const DM_PELSWIDTH = &H80000
Private Const DM_PELSHEIGHT = &H100000

Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Type str_DEVMODE
    RGB As String * 94
End Type

Public Sub ChangeRes(iWidth As Single, iHeight As Single)
Dim DevM As DEVMODE
Dim a As Boolean
Dim I As Long
Dim b As Long
    I = 0
    Do
        a = EnumDisplaySettings(0&, I&, DevM)
        I = I + 1
    Loop Until (a = False)
    DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
    DevM.dmPelsWidth = iWidth
    DevM.dmPelsHeight = iHeight
    b = ChangeDisplaySettings(DevM, 0)
End Sub
 

João Mateus

Se precisar de ajuda extra, visite:

http://joaomateus.planetaclix.pt

   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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