VB-Homepage Tipp 145

Automatisches aktivieren von Comboboxen

Um den Inhalt von Comboboxen anzeigen zu lassen ist es notwendig, den zugeordneten Pfeil zu drücken, woraufhin sich die Box öffnet und alles oder einen Teil der Werte anzeigt.
Nun haben Sie vielleicht schon in einigen Programmen gesehen, das die Combobox automatisch aufklappt, wenn Sie den Focus erhält, also aktiv gesetzt wird.
Und genau diese Vorgehensweise soll dieser Tipp verdeutlichen.

1. Definition im Allgemein/Deklarations Abschnitt
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
Const CB_SHOWDROPDOWN = &H14F

2. Combobox leeren, auffüllen und ersten Wert anzeigen. (ggf. unter Form/Load)
Combo1.Clear
Combo1.AddItem "Januar"
Combo1.AddItem "Februar"
Combo1.AddItem "März"
Combo1.AddItem "April"
......
Combo1.ListIndex = 0

3. In der Prozedur Private Sub Combo1_GotFocus() 'Box erhält den Focus
Call SendMessage(Combo1.hWnd, CB_SHOWDROPDOWN, True, 0) 'Aufklappen

4. In der Prozedur Private Sub Combo1_LostFocus() 'Box verliert den Focus
Call SendMessage(Combo1.hWnd, CB_SHOWDROPDOWN, False, 0) 'Einklappen

5. Um disen Focuswechsel zu testen, benötigen Sie wenigstens noch ein zweites Objekt, das den Focus erhalten kann.

6. Testen


Tipp-Download

Quelle : M.Schifer auf www.basicworld.com

Zurück zur Übersichtsseite