Selasa, 02 Agustus 2011

Membuat Autoresize Controls Saat Form Resize VB6

Berikut ini adalah cara membuat autoresize controls saat form resize di visual basic 6, untuk mempraktekannya siapkan :
1. Buat 1 Project baru dengan 1 Form.
2. Tempatkan beberapa control ke dalam form tersebut, seperti: frame, textbox, optionbutton, checkbox,   combobox, commandbutton, dsb.
 3. Copy-kan coding berikut ke dalam editor Form1
          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

Tags:
contoh program vb6, contoh fungsi di vb6, cara penggunaan fungsi vb, tutorial vb6, download tutorial vb6, vb6 tutorial download, dasar dasar vb6, belajar vb6, cara mudah belajar vb6, vb6 artikel download, vb6 blog, contoh program vb6, artikel vb6, semua tentang vb6, vb6 api, cara menggunakan module, cara menggunakan class module

Ditulis Oleh : Wahyu Aji // 19.21
Kategori:

0 komentar:

Posting Komentar