PROGRAMA PARA CAMBIAR LA RESOLUCIÓN DE PANTALLA
Se crea un formulario principal, un formulario de acerca de… y un modulo:
Los formularios tienen esta forma:
El codigo del formulario 1 tiene:
Option Explicit
Private Sub B1024x768_Click()
i = 0
Do
resultat = EnumDisplaySettings(0&,
i, DevM)
i = i + 1
Loop Until (resultat = False)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = 1024
DevM.dmPelsHeight = 768
changement = ChangeDisplaySettings(DevM, 0)
End Sub
Private Sub B1280x1024_Click()
i = 0
Do
resultat = EnumDisplaySettings(0&,
i, DevM)
i = i + 1
Loop Until (resultat = False)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = 1280
DevM.dmPelsHeight = 1024
changement = ChangeDisplaySettings(DevM, 0)
End Sub
Private Sub B640x480_Click()
i = 0
Do
resultat = EnumDisplaySettings(0&,
i, DevM)
i = i + 1
Loop Until (resultat = False)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = 640
DevM.dmPelsHeight = 480
changement = ChangeDisplaySettings(DevM, 0)
End Sub
Private Sub B800x600_Click()
i = 0
Do
resultat = EnumDisplaySettings(0&,
i, DevM)
i = i + 1
Loop Until (resultat = False)
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = 800
DevM.dmPelsHeight = 600
changement = ChangeDisplaySettings(DevM, 0)
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click()
Form2.Show 1
End Sub
El codigo del Formulario 2
contiene:
Option Explicit
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
Label4.Caption = "Liste des tâches version " & App.Major & "." & App.Minor
& "." & App.Revision
End Sub
Private Sub Label2_Click()
Dim X As Long
X = Shell("start
mailto:Patrice.MANGIN@wanadoo.fr", vbHide)
End Sub
Private Sub Label3_Click()
Dim X As Long
X = Shell("start
http://perso.wanadoo.fr/mangin/", vbHide)
End Sub
Y el Contenido del Módulo1 es el siguiente:
Option Explicit
Public Declare Function EnumDisplaySettings
Lib "user32" Alias "EnumDisplaySettingsA"
(ByVal lpszDeviceName As
Long, ByVal iModeNum As
Long, lpDevMode As Any) As Boolean
Public Declare Function ChangeDisplaySettings
Lib "user32" Alias "ChangeDisplaySettingsA"
(lpDevMode As Any, ByVal dwflags As Long) As Long
Public Const CCHDEVICENAME = 32
Public Const CCHFORMNAME = 32
Public Const DM_PELSWIDTH
= &H80000
Public Const DM_PELSHEIGHT = &H100000
' Tous les champs du type DEVMODE ne sont pas utilisés ici
' Seulement trois ont rapport avec la résolution d'écran.
' Mais pour un bon fonctionnement du programme, il faut tout décrire !
Public 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 Long
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Global DevM As
DEVMODE
Global resultat As Boolean
Global i, changement
As Long