Ads

Jumat, 08 April 2011

[Tutorial] Visual Basic 6.0 Contoh Penggunaan Event GotFocus

Beberapa hari yang lalu, di halaman Visual Basic 6.0 Pengenalan Form ada yang meminta saya untuk menunjukan contoh program yang menggunakan event Got Focus dalam Visual Basic 6.0 (VB 6.0). Karena saya sudah berjanji untuk membuat program tersebut sabtu ini, maka saya buatkanlah programnya. Saya juga akan menambahkan beberapa penjelasan.


Sebelum melangkah ke dalam contoh programnya, mari kita bahas dulu tentang apa itu event gotFocus. gotFocus dalam bahasa Pemrograman Visual Basic 6.0 adalah sebuah event atau kejadian di mana seorang user memberikan fokusnya kepada suatu control / object. Hal ini bisa dilakukan dengan cara mengklik control / object tersebut, menekan tab sehingga focus jatuh ke control / object tersebut ataupun karena object atau control tersebut melakukan method atau fungsi setFocus (namaControl.setFocus).


Sebagai lawan dari gotFocus adalah lostFocus. lostFocus adalah dalam Visual Basic 6.0 adalah sebuah event atau kejadian dimana seorang user meninggalkan fokusnya dari suatu control / object. Hal ini bisa terjadi karena user mengklik control / object lain atau usermenekan tab sehingga berpindah ke kontrol lainnya ataupun ada control yang menggunakan method atau fungsi setFocus. Event Lost Focus juga berlaku jika kita berpindah ke form / window yang berbeda tetapi masih dalam Aplikasi yang sama, tetapi tidak berlaku jika kita berpindah ke aplikasi yang berbeda.


Ok, sekarang program apa yang akan kita buat?





Kita akan membuah sebuah program yang akan menampilkan fungsi yang paling sering digunakan dalam event gotFocus. Yaitu untuk memblok text. Biasanya diprogram-program jika kita mengklik suatu textBox yang sudah ada isinya, maka kita akan secara otomatis memblok text tersebut. Dalam Visual Basic 6.0, hal ini dapat dilakukan dengan memanfaatkan event Got Focus.


Selain itu kita juga akan membuat list Box yang saat mendapatkan focus maka akan secara otomatis pilihan jatuh ke pilihan paling akhir. Di sini kita juga akan menampilkan 2 label yang akan menunjukan mana control / object yang melakukan gotFocus dan mana yang melakukan lostFocus.


Ok, langkah awal adalah cobalah buat tampilan seperti di bawah ini:


visualbasic60_formgetfocus


Gambar Format Form


Setelah itu, lakukan setting kepada control-control di atas sehingga settingannya menjadi seperti di bawah:



   VB.ListBox lstNotGetFocus
Height = 1620
Left = 2520
TabIndex = 3
Top = 2760
Width = 1575
End
Begin VB.ListBox lstGetFocus
Height = 1620
Left = 360
TabIndex = 2
Top = 2760
Width = 1695
End
Begin VB.TextBox txtNotGetFocus
Height = 375
Left = 1800
TabIndex = 1
Text = "Text2"
Top = 1080
Width = 4455
End
Begin VB.TextBox txtGetFocus
Height = 375
Left = 1800
TabIndex = 0
Text = "Text1"
Top = 480
Width = 4455
End
Begin VB.Label Label4
Caption = "lstGetFocus"
Height = 255
Index = 2
Left = 360
TabIndex = 11
Top = 2400
Width = 1095
End
Begin VB.Label Label4
Caption = "lstNotGetFocus"
Height = 255
Index = 1
Left = 2520
TabIndex = 10
Top = 2400
Width = 1095
End
Begin VB.Label Label4
Caption = "TxtGotFocus"
Height = 255
Index = 0
Left = 480
TabIndex = 9
Top = 480
Width = 1095
End
Begin VB.Label Label3
Caption = "txtNotGetFocus_"
Height = 255
Left = 480
TabIndex = 8
Top = 1080
Width = 1095
End
Begin VB.Label Label2
Caption = "lblLostFocus"
Height = 255
Left = 240
TabIndex = 7
Top = 5280
Width = 2055
End
Begin VB.Label Label1
Caption = "lblGotFocus"
Height = 255
Left = 240
TabIndex = 6
Top = 4560
Width = 2055
End
Begin VB.Label lblLostFocus
BorderStyle = 1 'Fixed Single
Height = 375
Left = 240
TabIndex = 5
Top = 5520
Width = 6855
End
Begin VB.Label lblFocus
BorderStyle = 1 'Fixed Single
Caption = "Label1"
Height = 375
Left = 240
TabIndex = 4
Top = 4800
Width = 6855
End

* Ikuti yang di bold saja untuk settingannya


Untuk langkah awal, kita setting dulu di code editor, coding untuk form load dan activate:



Private Sub Form_Activate()
'Membuat focus user ada di txtGetFocus
Me.txtGetFocus.SetFocus
End Sub

Private Sub Form_Load()
Dim i As Integer
'Menambahkan item untuk kedua list box
For i = 1 To 8
Me.lstGetFocus.AddItem "Item Ke-" & i
Me.lstNotGetFocus.AddItem "Item Ke-" & i
Next i
End Sub

Setelah itu maka coba Anda klik dua kali object / control txtGetFocus. Maka Anda akan di bawa ke window code editor. Secara default, event yang terpilih adalah event change untuk textBox. Ubah di comboBox list event dari txtGotFocus menjadi gotFocus.


vb60ubahmenjadigetfocus


Gambar Event GotFocus txtGetFocus


Setelah itu, maka secara otomatis di code editor akan dibuatkan event baru seperti di bawah ini:


Private Sub txtGetFocus_GotFocus()


End Sub


Ubahlah script txtGetFocus_GotFocus() menjadi seperti di bawah ini:



Private Sub txtGetFocus_GotFocus()
If Not (Me.txtGetFocus.Text = "") Then 'jika text tidak kosong maka
Me.txtGetFocus.SelStart = 0 'block text dari posisi awal
Me.txtGetFocus.SelLength = Len(Me.txtGetFocus.Text) 'sampai posisi akhir
End If
'Ubah lblFocus.Caption menjadi focus di control ini
Me.lblFocus.Caption = "Focus di " & Me.txtGetFocus.Name
End Sub

Setelah itu buat script di bawah untuk txtGetFocus untuk event LostFocus:



Private Sub txtGetFocus_LostFocus()
'tulis di label lost focus bahwa sebelumnya focus berada di control ini
Me.lblLostFocus.Caption = "Focus Sebelumnya di " & Me.txtGetFocus.Name
End Sub

OK, object pertama sudah selesai scriptnya. Sekarang kita masuk ke txtNotGetFocus. Text Box ini hanya berfungsi sebagai pembanding dengan textBox sebelumnya saja.



Private Sub txtNotGetFocus_GotFocus()
Me.lblFocus.Caption = "Focus di " & Me.txtNotGetFocus.Name
End Sub

Private Sub txtNotGetFocus_LostFocus()
Me.lblLostFocus.Caption = "Focus Sebelumnya di " & Me.txtNotGetFocus.Name
End Sub

Setelah itu kita masuk ke listBox. List Box getFocus memiliki fungsi untuk secara otomatis memilih item paling terakhir. Lalu saat kehilangan focus, pilihan user akan item di listBox get Focus di hilangkan. Selain itu sama semua kode / coding nya dengan textBox.



Private Sub lstGetFocus_GotFocus()
'Membuat focus ke item di bagian akhir list
Me.lstGetFocus.ListIndex = Me.lstGetFocus.ListCount - 1
Me.lblFocus.Caption = "Focus di " & Me.lstGetFocus.Name
End Sub

Private Sub lstGetFocus_LostFocus()
Me.lblLostFocus.Caption = "Focus Sebelumnya di " & Me.lstGetFocus.Name
'Membuat item menjadi tidak di pilih
Me.lstGetFocus.ListIndex = -1
End Sub

Private Sub lstNotGetFocus_Click()
Me.lblFocus.Caption = "Focus di " & Me.lstNotGetFocus.Name
End Sub

Private Sub lstNotGetFocus_LostFocus()
Me.lblLostFocus.Caption = "Focus Sebelumnya di " & Me.lstNotGetFocus.Name
End Sub

Ok, semua coding sudah di setting, sekarang waktunya untuk menjalankan programnya. Jika benar coding / koding / script uang anda ketikan dalam visual basic 6.0 Code editor dan form yang Anda bikin dalam Visual Basic 6.0 Object Editor maka tampilan programnya harusnya seperti di bawah ini saat di jalankan.


Ok, jika Anda bingung membuat programnya, Anda bisa coba download file program yang sudah saya buat di sini.


appsvbgotfocuslostfocus


Gambar saat Program di jalankan


Ok begitu saja, semoga bermanfaat.

4 Responses to “[Tutorial] Visual Basic 6.0 Contoh Penggunaan Event GotFocus”

  1. Arie says:

    tolongin dong download tutorial vb 6.0 yang free donnn’k mas….,,,,,!!!!!

  2. numpang lewat says:

    mas.. lmayan tp ttp gk ngerti,, bisa minta saran?,, hrusnya belajar dasar Vb dmn y??
    mksih

  3. Kalo saran saya sih mending kursus dulu aja gan, kalo dasar dah nguasain dikit, baru deh otodidak

Tidak ada komentar: