Mugkin ketika anda membaca judul ini anda pasti kurang mengerti,
Baik kalo begitu saya ambil contoh !
Apabila anda membuat suatu form yang didalamnya terdapat command terus Picture box dsb. Ketika anda memperbesar tampilan form maka control – control yang tadi akan
Tetap seperti semula ukuranya, tetapi dengan menggunakan script dibawah ini ketika
Anda memperbesar tampilan Form maka dengan otomatis control – control akan membesar pula ukuranya menyesuaikan ukuran form.
Langkah – langkahnya seperti berikut :
1. Untuk contoh kita buat Form lalu tambahkan Command satu buah
Lalu ketik script dibawah ini pada form target
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 <>
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
2. Yang terakhir anda tinggal menjalankanya
Tekan F5
Tidak ada komentar:
Posting Komentar