RSS
StartseiteKnowledge LibraryTop 10Impressum

5.13 Wie kann ich eine DataCombo automatisch aufklappen lassen?

VB5-VB6

Von: Thorsten Dörfler

Eine normale ComboBox kann man Mithilfe der API Funktion SendMessage und der Nachricht CB_SHOWDROPDOWN automatisch aufklappen lassen. Bei der DataCombo, die eigentlich wie eine normale ComboBox aussieht, funktioniert diese API Hilfe nicht. Aber neben dem Aussehen unterstützt die DataCombo eine weitere Eigenschaft der normalen ComboBox, das Aufklappen auf Tastendruck. Wie alle anderen Standard Combos, reagiert die DataCombo auf den Tastendruck <F4>. Dieser Tastendruck lässt sich auch Mithilfe des keybd_Event API simulieren:

' --- Deklaration ---
Private Const KEYEVENTF_KEYUP = &H2
    
Private Declare Sub keybd_event Lib "user32" _
       (ByVal bVk As Byte, ByVal bScan As Byte, _
        ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Sub SendKey(ByVal KeyCode As KeyCodeConstants)
  keybd_event KeyCode, 0, 0, 0
  keybd_event KeyCode, 0, KEYEVENTF_KEYUP, 0
End Sub

' --- Anwendung ---
Private Sub DBCombo1_GotFocus()
  SendKey vbKeyF4
End Sub