RSS
Twitter
Facebook
YouTube
Google+
Cari Artikel Disini!!!

Back to top

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






Post a Comment

Peraturan Berkomentar :
✔ Berkomentarlah Sesuai Artikel Diatas
✔ Berkomentarlah Menggunakan Bahasa Yang Jelas
✔ Relevan
✔ Sopan
✖ SPAM
✖ Link Aktif (Live Link)
✖ Promosi (Iklan)
✖ OOT (Out Of Topic)



| Copyright 2014 By : SF-Destroyer | Template Created By : Helmi Mochamad Darusman