|
Wenn Sie häufig API-Funktionen verwenden, werden Sie sicher die praktischen IntelliSense-Auflistungen vermissen, wenn bei einem Parameter einer Funktion eine bestimmte Konstante einzusetzen ist. Dabei bieten die Deklarationen von API-Funktionen genau die gleichen Möglichkeiten, die Sie auch bei den Deklarationen Ihrer eigenen Funktionen und Prozeduren haben. Sie können nämlich auch dort als Datentyp eines Parameters eine Enumeration angeben - und schon präsentiert Ihnen Visual Basic bei der Eingabe in Code-Modulen die entsprechende Auflistung.
Wir haben für Sie als Beispiel die Deklarationen der API-Funktionen SendMessage und PostMessage entsprechend vorbereitet und die allgemeinen Nachrichten-Konstanten (WM_...) als auch die Nachrichten-Konstanten für TextBoxen (EM_...), ListBoxen (LB_...), ComboBoxen (CB_...) und Scrollbars (SBM_...) in der Enumeration WMMessageConstants zusammengefasst (die vollständige Enumeration ist in dem zu diesem Artikel herunterladbaren Modul modSendPostMessage.bas enthalten).
Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As WMMessageConstants, _
ByVal wParam As Long, lParam As Any) As Long
Public Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hwnd As Long, -
ByVal wMsg As WMMessageConstants, _
ByVal wParam As Long, lParam As Any) As Long
Public Enum WMMessageConstants
WM_CREATE = &H1
WM_DESTROY = &H2
WM_MOVE = &H3
...
LB_ADDSTRING = &H180
LB_INSERTSTRING = &H181
LB_DELETESTRING = &H182
...
CB_GETEDITSEL = &H140
CB_LIMITTEXT = &H141
CB_SETEDITSEL = &H142
...
SBM_SETPOS = &HE0
SBM_GETPOS = &HE1
SBM_SETRANGE = &HE2
...
EM_GETSEL = &HB0
EM_SETSEL = &HB1
EM_GETRECT = &HB2
...
End Enum
|