Kode Untuk Menyesuaikan Resolusi Layar di VB6

Buat para pecinta tiptrikvb 6 mania,,, mungkin bagi anda yang pernah menemukan masalah sama seperti saya. sewaktu saya membuat program. Karena suatu hal laptop yang biasa saya pakai untuk membuat form ternyata tidak bisa di pakai untuk presentasi dan uji coba program saya. akhirnya saya putuskan untuk memakai netbook temen yang punya resolusi 600X800 pixel,, hal hasil program saya yang sudah jadi dan jalan di laptop saya pun jadi berantakan dan  Ukuran form nya kepotong tidak enak dipandang mata.

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 beberpa minggu berlalu saya kembali menemukan masalah ini. Saya mendapatkan order untuk membuat aplikasi kasir 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.

Kode Untuk Menyesuaikan Resolusi Layar di VB6


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

Demikian trik dari Saya bagaimana membuat Kode Untuk Menyesuaikan Resolusi Layar di VB6.
Semoga bermanfaat...



No comments: