|
BOOL GetMessage( LPMSG lpMsg, HWND hWnd, UINT
wMsgFilterMin, UINT wMsgFilterMax); |
Die Parameter haben folgende Bedeutung:
Parameter |
Bedeutung |
| LPMSG lpMsg | Zeiger auf die unten aufgeführte Nachrichtenstruktur. Diese Struktur wird durch die Funktion entsprechend ausgefüllt. |
| HWND hWnd | Handle des Fensters, für das die Nachricht ausgelesen werden soll. Wird für diesen Parameter der Wert NULL angegeben, wird die Nachricht für alle Fenster der Anwendung ausgelesen. |
| UINT wMsgFilterMin | ID der Nachricht, ab der Nachrichten ausgelesen werden sollen. |
| UINT wMsgFilterMax | ID der Nachricht, bis zu der Nachrichten ausgelesen werden sollen. Wird für wMsgFilterMin und wMsgFilterMax der Wert 0 angegeben, so werden alle Nachrichten ausgelesen |
Die durch die Funktion ausgefüllte Nachrichtenstruktur hat folgenden Aufbau:
typedef struct tagMSG { |
Wird für hWnd ein Wert ungleich NULL angegeben, so liest die Funktion auch Nachrichten an Child-Windows von hWnd aus. Den Child-Windows ist ein gesondertes Kapitel im Kurs gewidmet.
Zur Bestimmung des auszulesenden Nachrichtenbereichs sind 4 Konstanten definiert, WM_KEYFIRST, WM_KEYLAST, WM_MOUSEFIRST und WM_MOUSELAST mit deren Hilfe Tastatur- und Mausnachrichten herausgefiltert werden können.
Als Returnwert liefert die Funktion TRUE zurück wenn keine WM_QUIT Nachricht ausgelesen wurde. Die WM_QUIT Nachricht wird immer dann versandt, wenn die Anwendung beendet werden soll. Dieser Returnwert spielt in der später im Kurs beschriebenen Nachrichtenschleife der Anwendung eine wichtige Rolle. Im Fehlerfall (z.B. falsches Fenster-Handle als Parameter angegeben) liefert die Funktion '-1' zurück (BOOL lässt grüßen!).
|
|