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...
Semoga bermanfaat...
No comments:
Post a Comment