Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: combobox autofill

tarmoKo [05.12.2003 14:42:20]

#

Täysi esimerkki kuinka combobox saadaan tekemään saman tyyppistä tekstin syötön arvausta kuin esim. IE:n osoitinpalkki. Formille tarvitsee luoda combo1 niminen laatikko ja ei kun testaamaan.

Option Explicit

Private Backspaced As Boolean

Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam _
As Long, ByVal lParam As Long) As Long

Private Const CB_SHOWDROPDOWN = &H14F

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo desckeyerror
    If KeyCode = vbKeyBack Or KeyCode = vbKeyDelete Then
        If Combo1.Text <> "" Then
            'Let the Change event know that it
            'shouldn't respond to this change.
            Backspaced = True
        End If
    End If
Exit Sub
desckeyerror:
    Resume Next
End Sub

Private Sub Combo1_Change()

    If Backspaced = True Or Combo1.Text = "" Then
        Backspaced = False
        Exit Sub
    End If

   Dim i As Integer

   Dim nSel As Long
   nSel = Len(Combo1.Text)

   For i = 0 To Combo1.ListCount - 1

        If InStr(1, Combo1.List(i), Combo1.Text, _
         vbTextCompare) = 1 Then

            Combo1.ListIndex = i
            Combo1.SelStart = nSel
            Combo1.SelLength = Len(Combo1.Text) - nSel
            Exit For
         Else
         End If
    Next

    Dim r As Long
    r = SendMessageLong(Combo1.hwnd, CB_SHOWDROPDOWN, True, 0)
    MousePointer = 0

End Sub

Private Sub Form_Load()
   Combo1.AddItem "testi 4"
   Combo1.AddItem "atesti 5"
   Combo1.AddItem "btesti 1"
   Combo1.AddItem "ctesti 6"
   Combo1.AddItem "dtesti 2"
   Combo1.AddItem "etesti 3"
End Sub

sooda [08.12.2003 12:25:58]

#

Hieno!

arisau [23.02.2004 23:33:21]

#

kuinkas tuon saa toimimaan TextBox:ssa?

Quirzo [08.02.2007 21:56:36]

#

ei jumankauta etin netistä tätä ja jouduin säätämään suht. vaikeita koodeja ja nyt kuukausi myöhemmin tajuan sen olevan täällä :D

arisau [21.01.2008 20:49:42]

#

Pakko palata vanhaan juttuun kun on iso tarve...
Mitä tuossa pitäisi muuttaa että saisi ehdottamaan tietokannan tietyn sarakkeen sanoja? ja mielummin textBoxilla.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta