Changer la résolution de l'écran

Contenu du snippet

ce code source permet de changer la résolution de l'écran pour l'adapter à l'affichage d'une application qui est crée pour une résolution déterminée.
j'éspere qu'il répond aux besoins et qu'il sera à la hauteur.

Source / Exemple :


'*************écrire ce code dans "general"*********************

Option Explicit

Const CCHDEVICENAME = 32
Const CCHFORMNAME = 32

Private Type DEVMODE
    dmDeviceName As String * CCHDEVICENAME
    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 * CCHFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
End Type

Const DM_BITSPERPEL = &H40000
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const DM_DISPLAYFLAGS = &H200000
Const DM_DISPLAYFREQUENCY = &H400000

Private Declare Function ChangeDisplaySettings Lib "user32" Alias
"ChangeDisplaySettingsA" (lpInitData As DEVMODE, ByVal dwFlags As Long)
As Long
Private Declare Function EnumDisplaySettings Lib "user32" Alias
"EnumDisplaySettingsA" (lpszDeviceName As Any, ByVal iModeNum As Long,
lpDevMode As Any) As Boolean
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As
Long, ByVal dwReserved As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long,
ByVal nIndex As Long) As Long
Const BITSPIXEL = 12
Dim D As DEVMODE
dim lBits As Long, Largeurecran As Double, Hauteurecran As Double

'*************écrire ce code dans "Form_Activate"**************

Private Sub Form_Activate()
 
    lBits = GetDeviceCaps(hdc, BITSPIXEL)
    Largeur = Screen.Width \ Screen.TwipsPerPixelX
    Hauteur = Screen.Height \ Screen.TwipsPerPixelY
   Call EnumDisplaySettings(0&, -1, D)
   D.dmFields = DM_BITSPERPEL Or DM_PELSWIDTH Or DM_PELSHEIGHT
   D.dmPelsWidth = 1024 'vous pouvez spécifier la résolution désirée
   D.dmPelsHeight = 768 'vous pouvez spécifier la résolution désirée
   D.dmBitsPerPel = 32
   Call ChangeDisplaySettings(D, 1)
    
End Sub

'********écrire ce code dans "Form_Terminate"***********************

Private Sub Form_Terminate()
Dim res As DEVMODE
 Call EnumDisplaySettings(0&, -1, res)
   res.dmFields = DM_BITSPERPEL Or DM_PELSWIDTH Or DM_PELSHEIGHT
   res.dmPelsWidth = Largeur  
   res.dmPelsHeight = Hauteur
   res.dmBitsPerPel = lBits
   Call ChangeDisplaySettings(res, 1)
    
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.