۱۳-بهمن-۱۳۸۴, ۱۶:۳۹:۴۶
۱۳-بهمن-۱۳۸۴, ۱۷:۵۸:۰۷
پس اين دوتا تابع براي چيه
کد:
Private Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As DEVMODE, ByVal dwFlags As Long) As Long
Private Declare Function ChangeDisplaySettingsEx Lib "user32.dll" Alias "ChangeDisplaySettingsExA" (ByVal lpszDeviceName As String, ByRef lpDevMode As DEVMODE, ByVal hwnd As Long, ByVal dwflags As Long, ByRef lParam As Any) As Long
۱۶-بهمن-۱۳۸۴, ۱۲:۳۴:۴۲
ولي من اين رو پيدا كردم كه فكر ميكنم راحت تر باشه
کد:
'Changes resolution on the fly, without rebooting
'Call with:
'Call ChangeRes(800,600)
'or Call ChangeRes(640,480) for example
' if resolution is not possible, a dialog is displayed
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
Dim DevM As DEVMODE
Sub ChangeRes(iWidth As Single, iHeight As Single)
Dim a As Boolean
Dim i As Integer
i = 0
Do
a = EnumDisplaySettings(0&, i, DevM)
i = i + 1
Loop Until (a = False)
Dim b&
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
ChangeDisplaySettings DevM, 0
End Sub
۲۶-اردیبهشت-۱۳۸۵, ۱۲:۵۷:۴۹
Dim x As New DirectX7
Dim x1 As DirectDraw7
Private Sub Form_Load()
Set x1 = x.DirectDrawCreate("")
x1.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL
x1.SetDisplayMode 800, 600, 0, 0, DDSDM_DEFAULT
End Sub
as references -> dirext7 for vb
Dim x1 As DirectDraw7
Private Sub Form_Load()
Set x1 = x.DirectDrawCreate("")
x1.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL
x1.SetDisplayMode 800, 600, 0, 0, DDSDM_DEFAULT
End Sub
as references -> dirext7 for vb