解像度をリストボックスに一覧表示し、コマンドボタンを押下する事によりその一覧で選択されたリスト項目に解像度を変更します。
Private SubForm_Load()
DimDEVMODEAsDEVMODE
DimiAs Integer
Fori = 0To64
IfEnumDisplaySettings(vbNullString, i, DEVMODE) = 1Then
List1.AddItem DEVMODE.dmBitsPerPel & "ビット " & _
DEVMODE.dmPelsWidth & "×" & DEVMODE.dmPelsHeight
End If
Next
End Sub
Private SubCommand1_Click()
DimDEVMODEAsDEVMODE
IfEnumDisplaySettings(vbNullString, List1.ListIndex, DEVMODE) = 1Then
Call ChangeDisplaySettings(DEVMODE, 0)
End If
End Sub
'----------------------------------------------------------
'
'----------------------------------------------------------
Public Declare FunctionEnumDisplaySettingsLib"user32"Alias"EnumDisplaySettingsA" (ByVallpszDeviceNameAs String, ByVal dwModeNumAs Long, lpDevModeAsDEVMODE)As Long
Public Declare FunctionChangeDisplaySettingsLib"user32"Alias"ChangeDisplaySettingsA" (lpDevModeAsDEVMODE,ByValdwflagsAs Long)As Long
Public ConstCCHDEVICENAME = 32
Public ConstCCHFORMNAME = 32
PublicType DEVMODE
dmDeviceNameAs String* CCHDEVICENAME
dmSpecVersionAs Integer
dmDriverVersionAs Integer
dmSize As Integer
dmDriverExtraAs Integer
dmFieldsAs Long
dmOrientationAs Integer
dmPaperSizeAs Integer
dmPaperLengthAs Integer
dmPaperWidthAs Integer
dmScaleAs Integer
dmCopiesAs Integer
dmDefaultSourceAs Integer
dmPrintQualityAs Integer
dmColorAs Integer
dmDuplexAs Integer
dmYResolutionAs Integer
dmTTOptionAs Integer
dmCollateAs Integer
dmFormNameAs String* CCHFORMNAME
dmUnusedPaddingAs Integer
dmBitsPerPelAs Long
dmPelsWidthAs Long
dmPelsHeightAs Long
dmDisplayFlagsAs Long
dmDisplayFrequencyAs Long
End Type
DownLoad vbtips081.lzh 2KB (VB6.0)