vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls · ComboBox   |   VB-Versionen: VB4, VB5, VB631.07.01
AutoComplete in der ComboBox

Eine AutoComplete-Funktion für die eigene ComboBox - ganz einfach!

Autor:   Dieter OtterBewertung:  Views:  32.488 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Die "AutoComplete"-Funktion des Internet-Explorers ist schon eine feine Sache. Der IE vervollständigt automatisch Ihre angefangene Eingabe und markiert den Text hierbei automatisch, so daß dieser per Tastendruck wieder überschrieben werden kann.

So eine Autovervollständigungs-Funktion lässt sich für Ihre eigene ComboBox ganz leicht integrieren. Voraussetzung ist lediglich, daß es sich um eine editierbare ComboBox handelt - also Style = 0 DropDown Kombinationsbox, die Sorted-Eigenschaft auf True gesetzt ist und die ComboBox selbst mit den entsprechenden Einträgen gefüllt ist.

Und hier der Code

' Autovervollständigung...
Private Sub Combo1_KeyUp(KeyCode As Integer, Shift As Integer)
  Static sTextOld As String
  Dim I As Integer
  Dim sPos As Integer
 
  With Combo1
    ' nur wenn sich die Eingabe geändert hat
    If sTextOld <> .Text Then
      For I = 0 To .ListCount - 1
        If .List(I) Like .Text + "*" Then
          sPos = .SelStart
          sTextOld = .Text
          .Text = .List(I)
          .SelStart = sPos
          .SelLength = Len(.Text) - sPos + 1
          Exit For
        End If
      Next I
    End If
  End With
End Sub

Und so funktioniert's:
Jedesmal, wenn eine Taste gedrückt wird, wird geprüft, ob es einen Eintrag innerhalb der ComboBox-Liste gibt, der dem aktuell eingegeben Text entsprechen könnte. Wenn ja, wird der komplette Eintrag der ComboBox ins Eingabefeld übernommen, wobei alle Zeichen ab der aktuellen Eingabeposition bis zum Ende markiert werden - ganz nach dem Vorbild der "AutoComplete"-Funktion des Internet-Explorers.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.