Sumber : http://pujanggavb.wordpress.com/2008/11/14/menyisipkan-kontrol-baru/
Menambahkan sebuah kontrol pada saat design mode memang mudah sekali.
Anda tinggal memilih jenis kontrol yang disediakan ToolBox, kemudian
melakukan dragging pada badan form. Bisakah Anda menciptakan atau
menambahkan kontrol baru pada saat runtime atau melalui jendela kode?
Teknik berikut ini adalah teknik untuk menciptakan kontrol baru. Cukup
aneh memang, Anda tidak memasukkan kontrol apapun, namun ketika program
berjalan form tiba-tiba menciptakan kontrol-kontrol baru. Lebih aneh
lagi kontrol-kontrol ini dapat diperintah layaknya kontrol yang Anda
desain saat design mode.
Berikut ini contoh program untuk menyisipkan sebuah PictureBox, beberapa TextBox dan sebuah VScrollBar yang dijalankan ketika runtime.
Stop! Tidak perlu melakukan design apapun, ketikkan kode di bawah ini.
Option Explicit
Dim ctl As Control
Dim i As Long
Dim AkhirTinggi As Long
Dim AwalTop As Long
Dim JumTextBox As Integer
Dim myVsb As Control
Dim WithEvents vsbScroll As VScrollBar
Dim WithEvents Picture1 As PictureBox
Private Sub Form_Load()
'Membuat PictureBox
Set ctl = Me.Controls.Add("VB.PictureBox", _
"Picture1")
ctl.Visible = True
ctl.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
Set Picture1 = ctl
'Membuat TextBox baru
JumTextBox = 20 '<-- banyaknya="banyaknya" br="br" textbox="textbox"> For i = 0 To JumTextBox
Set ctl = Me.Controls.Add("VB.TextBox", _
"Text" & CStr(i))
'Agar kontrol ditampung PictureBox
Set ctl.Container = Picture1
'Memposisikan dan mengatur ukuran TextBox
ctl.Move 60, 60 + (330 * i), 2000, 285
AkhirTinggi = i * (60 + (330 * i) + 285)
'Mengisi properti Text
'sesuai dengan nama TextBox
ctl.Text = ctl.Name
'Menampilkan TextBox
ctl.Visible = True
Next
'Membuat ScrollBar vertical
Set ctl = Me.Controls.Add("VB.VScrollBar", _
"vsbScroll")
Set ctl.Container = Picture1
ctl.Move Picture1.Width - 350, 0, 280, Picture1.Height - 100
ctl.Max = JumTextBox * 300 + Picture1.Height
ctl.SmallChange = 100
ctl.LargeChange = 200
ctl.Visible = True
Set vsbScroll = ctl
End Sub
Sub vsbScroll_Change()
'Memindahkan posisi TextBox
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
ctl.Top = ctl.Top + (AwalTop - vsbScroll.Value)
End If
Next
AwalTop = vsbScroll.Value
End Sub
Sub vsbScroll_Scroll()
vsbScroll_Change
End Sub
Private Sub VScroll1_Change()
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
ctl.Top = ctl.Top + (AwalTop - VScroll1.Value)
End If
Next
AwalTop = VScroll1.Value
End Sub
Jalankan program (F5), lihatlah apa yang terjadi! CObalah untuk mengklik atau menggerakan batang penggulung (VScrollBar).-->
Tidak ada komentar:
Posting Komentar