Rabu, 21 Juli 2010

Membuat Sendiri Kontrol ActiveX Dengan Visual Basic 6

Selamat pagi bro and sis, kalau disana pagi, kalau siang ya selamat siang :), sudah lama banget ni gak ngupdate blog, kali ini saya mencoba untuk menshring salah satu contoh project kontrol activex yang cukup senderhana  yaitu membuat penunjuk waktu, sebanarnya memang sengaja nampilin project yang sederhana, biar nggk terlalu panjang, hehehe…, baiklah tanpa berpanjang lebar lagi mari kita mulai

Bukalah project baru dengan tipe project ActiveX Control, berbeda dengan project yang biasa yang ditampilkan bukanlah form melainkan user controls, ubahlah nama project nya menjadi  JamSaya, lalu ubah user controls nya menjadi Jam, BorderStyle nya menjadi 0 - None


Lalu masukkan sebuah label ke dalam form dan aturlah properti nya menjadi :
Name : lblJam
Appearance : 0 – Flat
Autosize : True
BackColor : &H00E0E0E0&
BorderStyle : 1 – Fixed Single
Caption : 00:00:00
Font : Ms Sans Serif
Font Style : Bold

Langkah selanjutnya kita masukkan sebuah Timer, lalu set propertinya
Name : tmrJam
Interval : 1000

Lalu pindahkan label yang tadi kita buat ke pojok kiri atas form, lalu perkecil ukuran form sebesar label yang tadi kita buat


Nah sampai disini kita simpan dahulu project yang kita buat, untuk user controls nya beri nama file JamSaya.ctl, untuk project nya beri nama file JamSaya.vbp

Setelah design interface nya selesai, saat nya untuk menambahkan kode kedalam project, double klick pada user controls tambahkan kode berikut :
Private Sub UserControl_Initialize()
    lblJam.Caption = Time
    tmrJam.Enabled = True
End Sub
Sub procedure Initialize akan diload pertama kali pada saat komponen diletakkan pertama kali di form, lalu tambahkan kode berikut :
Private Sub tmrJam_Timer()
Dim jam
    jam = Time()
    lblJam.Caption = jam
End Sub 
Procedure diatas akan dipanggil pada saat komponen di drag atau di geser pada form, untuk menentukan font yang akan digunakan, kita gunakan fungsi SET dan untuk membaca nilainya kita gunakan fungsi GET, tambahkan kode berikut :
Public Property Set Font(ByVal NewFont As Font)
    Set lblJam.Font = NewFont
    PropertyChanged "Font"
End Property

Public Property Get Font() As Font
    Set Font = lblJam.Font
End Property 
kita tahu setiap kontrol activex yang telah kita drag ke dalam sebuah form maka setiap kontrol tersebut akan memiliki nilai properti, dengan procedure SET kita dapat menentukan beberapa nilai yang akan kita ubah didalam properties nya, sedangkan procedure GET nanti nya yang akan mengambil nilai pada properties tersebut dan akan diterapkan ketika sebuah kontrol activex di drag atau di geser kedalam sebuah form

Lalu kita tambahkan sebuah Event yang akan di picu saat terjadi perubahan pada kontrol activex

Pastikan kursor anda berada pada posisi (General) (Declaration),
Lalu ketikkan kode berikut :
Public Event change() 
Event ini kita perlukan untuk mendeteksi apabila terjadi perubahan pada kontrol activex yang akan menjalankan sebuah procedure yang kita beri nama SetTime(), ketikkan kode berikut :
Private Sub SetTime(ByVal waktu As String)
    lblJam.Caption = waktu
    RaiseEvent change
End Sub 
Procedure ini yang akan mentrigger agar Event change() dijalankan, yang akan memparse sebuah variable waktu dan menyesuaikannya pada label jam

Untuk membaca perubahan pada property global untuk font, kita baca lewat ReadProperties pada object UserControl, pada bagian inilah properties global akan dibaca
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
    lblJam.Font = PropBag.ReadProperty("Font", Ambient.Font)
    lblJam.FontBold = PropBag.ReadProperty("FontBold", _
                      Ambient.Font.Bold)
    lblJam.FontSize = PropBag.ReadProperty("FontSize", _
                      Ambient.Font.Size)
End Sub 
Untuk menulis perubahan yang terjadi pada property global untuk font, kita lakukan lewat WriteProperties pada object UserControl
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
    Call PropBag.WriteProperty("Font", lblJam.Font, Ambient.Font)
    Call PropBag.WriteProperty("FontBold", lblJam.FontBold, _
         Ambient.Font.Bold)
    Call PropBag.WriteProperty("FontSize", lblJam.FontSize, _
         Ambient.Font.Size)
End Sub 
Procedure inilah yang akan menjadikan beberapa nilai properties menjadi satu kesatuan  atau menjadi bagian dari activex itu sendiri

Nah sudah hampir selesai ini, sekarang tinggal kita simpan, lalu coba jalankan project tekan F5, dan lihat hasilnya yang akan dibuka pada browser yg kita gunakan

Langkah selanjutnya adalah mengkompilasi project yang telah kita buat, klik menu File, lalu pilih Make JamSaya.ocx, lalu tentukan lokasi folder dimana ocx tersebut akan kita letakkan, lalu klik tombol Ok, nah kontrol activex kita telah berhasil dibuat

Sekarang saatnya kita tambahkan kontrol activex yang baru kita buat kedalam project aplikasi kita, buka salah satu project anda, atau buat aplikasi Standard.exe yang baru, cara menambahkannya, klik kanan pada Toolbox, pilih Components…, setelah tampil klik tombol browse, lalu cari file ocx yang tadi telah kita buat “JamSaya.ocx”, lalu klik Open, nah coba kita perhatikan di Toolbox akan terdapat component baru yaitu JamSaya, coba tambahkan ke dalam form, inisialiasi awal dari ocx tersebut adalah penunjuk waktu saat ini.


Klik disini untuk mendownload project JamSaya, selamat mencoba.

1 komentar:

  1. Hold The Flavors In Your Detox Water Recipe Longer.

    BalasHapus