Persiapan: 

            1.  Buat 1 Project baru dengan 1 Form. 


            2.  Tambahkan lima combobox, masing-masing menjadi Combo1, 


            Combo2, Combo3, Combo4, dan Combo5. 


            3.  Ketik coding berikut ke dalam editor form yang bertalian. 


            Ketik coding berikut ini pada Form. 


            Option Explicit 


            'Konstanta untuk membantu pencarian string 


            Const CB_FINDSTRING = &H14C 


             


            Private Declare Function SendMessage Lib "user32" _ 


                    Alias "SendMessageA" (ByVal hwnd As Long, _ 


                    ByVal wMsg As Long, ByVal wParam As Long, _ 


                    lParam As Any) As Long 


             


            'Untuk membantu menentukan apakah terjadi perubahan 


            ‘(Ubah)hasil string di combobox atau tidak (Asli). 


            Public Enum EnumKarakter 


              Asli = 0 


              Ubah = 1 


            End Enum 


            Dim Karakter As EnumKarakter 


             


            'Ini untuk mengisi setiap combobox dengan data yang ‘sama. 


            'Perhatikan perbedaan hasilnya saat data diketikkan di 


            'masing2 combobox ybt pada event procedure KeyPress... 


            Private Sub IsiSemuaCombobox() 


              Dim ctrl As Control 


              For Each ctrl In Form1.Controls 


            152 




     
                If TypeOf ctrl Is ComboBox Then 


                  With ctrl 


                  .AddItem "Masino Sinaga" 


                  .AddItem "Marlyin Monroe" 


                  .AddItem "Matt Monroe" 


                  .AddItem "Ady Chandra" 


                  .AddItem "Ari Hadiyono" 


                  .AddItem "Dorce Simatupang" 


                  .AddItem "Elvis Sinaga" 


                  .Text = .List(0) 


                  End With 


                End If 


              Next 


            End Sub 


             


            'Mula-mula, isi semua combobox dengan data yang sama 


            Private Sub Form_Load() 


              IsiSemuaCombobox 


            End Sub 


             


            'Bandingkan Combo1 dan Combo4... 


            'Hasilnya sama saja bukan? Karena huruf yang akan ‘digunakan 


            tidak terpengaruh kepada parameter ketiga ‘(bUpperCase), tapi 


            ditentukan oleh parameter keempat ‘(cCharacter), yang bernilai 


            "Asli", artinya ‘menggunakan karakter aslinya. 


             


            Private Sub Combo1_KeyPress(KeyAscii As Integer) 


              KeyAscii = AutoComplete(Combo1, KeyAscii, True, Asli) 


            End Sub 


             


            Private Sub Combo4_KeyPress(KeyAscii As Integer) 


              KeyAscii = AutoComplete(Combo4, KeyAscii, False, _ 


                         Asli) 


            End Sub 


             


            'Karena parameter ketiga = False dan parameter keempat ‘di-


            Ubah, maka huruf yang ditampilkan saat diketik akan ‘menjadi 


            huruf kecil semuanya (terjadi perubahan karena "Ubah"). 


             


            Private Sub Combo2_KeyPress(KeyAscii As Integer) 


              KeyAscii = AutoComplete(Combo2, KeyAscii, False, _ 


                         Ubah) 


            End Sub 


             


            'Karena parameter ketiga = True, dan parameter keempat ‘di-


            Ubah, maka huruf yang ditampilkan saat diketik akan ‘menjadi 


            huruf besar semuanya (terjadi perubahan karena ‘"Ubah"). 


             


            Private Sub Combo3_KeyPress(KeyAscii As Integer) 


              KeyAscii = AutoComplete(Combo3, KeyAscii, True, Ubah) 


            End Sub 


             


            'Karena parameter ketiga dan keempat tidak ‘didefinisikan 


            secara eksplisit dalam pemakaiannya, ‘maka akan menggunakan 


            parameter default-nya; masing-‘masing: True dan Asli, sehingga 


            huruf yang ditampilkan ‘menjadi apa adanya (Asli). 


            'Dalam hal ini, sama dengan Combo1 dan Combo4 di atas. 


            Private Sub Combo5_KeyPress(KeyAscii As Integer) 


              KeyAscii = AutoComplete(Combo5, KeyAscii) 


            End Sub 


            153 




   
             


            Public Function AutoComplete( _ 


                   cbCombo As ComboBox, _ 


                   sKeyAscii As Integer, _ 


                   Optional bUpperCase As Boolean = True, _ 


                   Optional cCharacter As EnumKarakter = Asli) _ 


                   As Integer 


              Dim lngFind As Long, intPos As Integer 


              Dim intLength As Integer, tStr As String 


              With cbCombo 


                If sKeyAscii = 8 Then 


                   If .SelStart = 0 Then Exit Function 


                   .SelStart = .SelStart - 1 


                   .SelLength = 32000 


                   .SelText = "" 


                Else 


                   'simpan posisi kursor 


                   intPos = .SelStart 


                   'simpan data string 


                   tStr = .Text 


                   'If bUpperCase = Asli Then 


                   '   .SelText = (Chr(sKeyAscii)) 


                   If bUpperCase = True Then 


                      'ganti string. (hanya huruf besar) 


                      .SelText = UCase(Chr(sKeyAscii)) 


                   Else 'If bUpperCase = KecilSemua Then 


                      'ganti string. (biarkan data apa adanya) 


                      .SelText = (Chr(sKeyAscii)) 


                   End If 


                End If 


                'Cari string di combobox 


                lngFind = SendMessage(.hwnd, CB_FINDSTRING, 0, _  


                          ByVal .Text) 


                If lngFind = -1 Then 'Jika string tidak ditemukan 


                  'Set ke string yg lama (digunakan untuk data yang 


                  'membutuhkan pengawasan karakter 


                   .Text = tStr 


                   'Tentukan posisi kursor 


                   .SelStart = intPos 


                   'Tentukan panjang yang terpilih 


                   .SelLength = (Len(.Text) - intPos) 


                   'Kembalikan nilai 0 KeyAscii (tidak melakukan  


                   ‘apapun) 


                   AutoComplete = 0 


                   Exit Function 


                Else 'Jika string ditemukan 


                   intPos = .SelStart 'Simpan posisi kursor 


                   'Simpan panjang teks sisa yang disorot 


                   intLength = Len(.List(lngFind)) - Len(.Text) 


                   If cCharacter = Ubah Then 


                    'Ganti teks baru dalam string (ubah seluruhnya) 


                     .SelText = .SelText & Right(.List(lngFind), _  


                                intLength) 


                   Else  'Asli, huruf asli yang digunakan, tidak  


                         ‘diganti 


                     .Text = .List(lngFind) 


                   End If 


                   'Tentukan posisi kursor 


                   .SelStart = intPos 


                   'Tentukan panjang yang terpilih 


 Send instant messages to your online friends http://uk.messenger.yahoo.com 

[Non-text portions of this message have been removed]



Untuk berhenti berlangganan kirim email kosong ke : [EMAIL PROTECTED]

Bagi terjangkit virus lokal, zip virus tersebut
dan kirim ke [EMAIL PROTECTED], kami
akan membuat removalnya untuk anda. 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/indoprog-vb/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/indoprog-vb/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Kirim email ke