Terimakasih atas saran dan codenya,
memang ini lebih efektif.

Selain itu jg tergantung juga sama hardware yang ada.

Makasih.

--- Yulianto <[EMAIL PROTECTED]> wrote:

> Dear Suseno,
> 
> Bagaimana kalo resolusi monitor yang diganti aja.
> Karena tidak efektif kalo ukuran form yang diubah.
> 
> Untuk ubah resolusi monitor, gunakan script dibawah
> ini.
> 
> 'Option Explicit
> 
> Declare Function EnumDisplaySettings Lib "user32" 
> Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName
> As Long, ByVal 
> iModeNum As Long, lpDevMode As Any) As Boolean
>     Declare Function ChangeDisplaySettings Lib
> "user32" _
>     Alias "ChangeDisplaySettingsA" (lpDevMode As
> Any, ByVal dwFlags 
> As Long) As Long
> 
> Declare Function ExitWindowsEx Lib "user32" (ByVal
> uFlags As Long, 
> ByVal dwReserved As Long) As Long
>     Public Const EWX_LOGOFF = 0
>     Public Const EWX_SHUTDOWN = 1
>     Public Const EWX_REBOOT = 2
>     Public Const EWX_FORCE = 4
>     Public Const CCDEVICENAME = 32
>     Public Const CCFORMNAME = 32
>     Public Const DM_BITSPERPEL = &H40000
>     Public Const DM_PELSWIDTH = &H80000
>     Public Const DM_PELSHEIGHT = &H100000
>     Public Const CDS_UPDATEREGISTRY = &H1
>     Public Const CDS_TEST = &H4
>     Public Const DISP_CHANGE_SUCCESSFUL = 0
>     Public Const DISP_CHANGE_RESTART = 1
>     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
> 
> 'These variables store the screen's current
> resolution.
> Global ScreenWidth As Integer, ScreenHeight As
> Integer
> 
> 
> Public GantiResolusi As Boolean
> 
> 
> Public Sub SetResolution(Optional ByVal vResolusiX
> As Integer = 640, 
> Optional ByVal vResolusiY As Integer = 480)
> 
>     Dim DevM As DEVMODE
>     
>     
>     'GantiResolusi = EnumDisplaySettings(0&, 0&,
> DevM)
>     
>     If GantiResolusi = True Then
>         'Simpan Resolusi awal, agar nantinya bisa 
> dikembalikan /restore.
>         ScreenWidth = Screen.Width
>         ScreenHeight = Screen.Height
>         
>         DevM.dmFields = DM_PELSWIDTH Or
> DM_PELSHEIGHT 'Or 
> DM_BITSPERPEL
>         
>         'Tentukan resolusi yang diinginkan disini.
>         DevM.dmPelsWidth = vResolusiX  '640
> 'ScreenWidth
>         DevM.dmPelsHeight = vResolusiY '480
> 'ScreenHeight
>         
>         erg& = ChangeDisplaySettings(DevM, CDS_TEST)
>         
>         GantiResolusi = Not GantiResolusi
>     
>         Select Case erg&
>             Case DISP_CHANGE_RESTART
>                 an = MsgBox("You have to reboot",
> 64, "Info")
>         
>                     If an = vbYes Then
>                         erg& =
> ExitWindowsEx(EWX_REBOOT, 0&)
>                     End If
>                     
>             Case DISP_CHANGE_SUCCESSFUL
>                 erg& = ChangeDisplaySettings(DevM, 
> CDS_UPDATEREGISTRY)
>             Case Else
>                 MsgBox "Mode Not supported",
> vbOKOnly + 
> vbSystemModal, "KwetChiro - Error"
>         End Select
>         
>         Exit Sub
>     End If
>     
>     'Kembali ke resolusi awal
>     If GantiResolusi = False Then
>         ScreenWidth = ScreenWidth / 15
>         ScreenHeight = ScreenHeight / 15
>         
>         DevM.dmFields = DM_PELSWIDTH Or
> DM_PELSHEIGHT 'Or 
> DM_BITSPERPEL
>         
>         
>         DevM.dmPelsWidth = ScreenWidth
>         DevM.dmPelsHeight = ScreenHeight
>         
>         erg& = ChangeDisplaySettings(DevM, CDS_TEST)
>         
>         GantiResolusi = Not GantiResolusi
>             
>         Select Case erg&
>             Case DISP_CHANGE_RESTART
>                 an = MsgBox("You have to reboot",
> 64, "Info")
>         
>                     If an = vbYes Then
>                         erg& =
> ExitWindowsEx(EWX_REBOOT, 0&)
>                     End If
>                     
>             Case DISP_CHANGE_SUCCESSFUL
>                 erg& = ChangeDisplaySettings(DevM, 
> CDS_UPDATEREGISTRY)
>                 
>             Case Else
>                 MsgBox "Mode Not supported",
> vbOKOnly + 
> vbSystemModal, "KwetChiro - Error"
>         End Select
>     
>     Exit Sub
>     End If
> End Sub
> 
> 
> 
> 
> Taruh skript ini dalam satu module.
> Kemudian panggil modul tersebut 
> 
> GantiResolusi = true
> call SetResolution (640, 480)
> 
> semoga membantu.
> 
> Regards,
> Yulianto
> KwetChiro
> 
> 
> --- In [email protected], Jenar Suseno
> <[EMAIL PROTECTED]> 
> wrote:
> >
> > Beberapa waktu lalu aku baca ada yang nanya untuk
> atur
> > form supaya bisa jalan di semua resolusi monitor.
> > 
> > Aku coba buka2 arsip kok gak ketemu ya..
> > 
> > Kl ada yang masih punya, bisa dong di sharing
> lagi...
> > 
> > Makasih,
> > 
> > 
> > 
> > 
> 
=== message truncated ===



                
__________________________________________ 
Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com 



Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Programmer-VB/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Kirim email ke