Home » , » Listing untuk menyesuaikan resolusi layar di Visual Basic 6

Listing untuk menyesuaikan resolusi layar di Visual Basic 6

Buat agan-agan pecinta vb 6 mania,,, mungkin ada yang pernah menemukan masalah sama seperti saya. sewaktu saya menyelesaikan tugas akhir saya dulu. Karena suatu hal laptop yang biasa saya pakai untuk membuat form ternyata tidak bisa di pakai untuk presentasi. akhirnya saya putuskan untuk meminjam netbook temen yang punya resolusi 600X800 pixel,, Wal hasil program saya yang sudah jadi dan jalan di laptop saya pun jadi berantakan,, Ukuran form nya kepotong.
Hal ini di karenakan resolusi ukuran layar monitor laptop saya dan netbook temen berbeda. Setelah pusing mencari kesana kemari tidak ketemu akhirnya saya hanya mengedit posisi control yang ada di program saya.
Setelah 1 bulan berlalu saya kembali menemukan masalah ini. Saya mendapatkan order untuk membuat aplikasi Koperasi menggunakan VB6. Tidak mungkin kan saya membuat programnya di PC client..?Coba googling dan secara tidak sengaja saya menemukan caranya untuk menyesuaikan ukuran form saat form di resize atau beda resolusi.
Langsung aja nih source codenya:

Private lngFormWidth As Long
Private lngFormHeight As Long

Private Sub Form_Load()
    Dim Ctl As Control
    'Tempatkan dimensi form dalam variabel
    lngFormWidth = ScaleWidth
    lngFormHeight = ScaleHeight
'Tempatkan inisialisasi dimensi control dalam 'property Tag - dengan penanganan error untuk 'controls yang tidak memiliki properties seperti 'Top (misalnya: control Line)
    On Error Resume Next
    For Each Ctl In Me
        Ctl.Tag = Ctl.Left & " " & Ctl.Top & " " & _
            Ctl.Width & " " & Ctl.Height & " "
            Ctl.Tag = Ctl.Tag & Ctl.FontSize & " "
    Next Ctl
    On Error GoTo 0
End Sub

Private Sub Form_Resize()


    Dim D(4) As Double
    Dim i As Long
    Dim TempPoz As Long
    Dim StartPoz As Long
    Dim Ctl As Control
    Dim TempVisible As Boolean
    Dim ScaleX As Double
    Dim ScaleY As Double
    'Hitung skala-nya
    ScaleX = ScaleWidth / lngFormWidth
    ScaleY = ScaleHeight / lngFormHeight
    On Error Resume Next
    'Untuk setiap control yang terdapat di form
    For Each Ctl In Me
        TempVisible = Ctl.Visible
        Ctl.Visible = False
        StartPoz = 1
        'Baca data dari property Tag
        For i = 0 To 4
            TempPoz = InStr(StartPoz, Ctl.Tag, " ", _
                vbTextCompare)
            If TempPoz > 0 Then
                D(i) = Mid(Ctl.Tag, StartPoz, _
                    TempPoz - StartPoz)
                StartPoz = TempPoz + 1
            Else
                D(i) = 0
            End If
            'Pindahkan control berdasarkan data
            'di property Tag dan di skala form
            Ctl.Move D(0) * ScaleX, D(1) * ScaleY, _
                D(2) * ScaleX, D(3) * ScaleY
            Ctl.Width = D(2) * ScaleX
            Ctl.Height = D(3) * ScaleY
            'Ganti ukuran huruf
            If ScaleX < ScaleY Then
                   Ctl.FontSize = D(4) * ScaleX
            Else
                   Ctl.FontSize = D(4) * ScaleY
            End If
        Next i
        Ctl.Visible = TempVisible
    Next Ctl
    On Error GoTo 0
End Sub



Nah buat yang di aplikasinya menggunakan DCBUTTON. agan harus hapus fontsize properti yang ada di source code user controlnya.


ini saja tutorial saya kali ini tentang Microsoft Visual Basic 6. semoga sedikit trit ini bisa membantu.
Thanks buat
www.FirdausTech.com

Written by : Ihksan Fauzi - Tentang Saya

Bukan siapa-siapa dan bukan apa-apa. Hanya NewBie Yang mencoba berbagi apa yang saya peroleh.

Join Me On: Facebook | Google Plus :: Thank you for visiting ! ::