|
|
|
|
|
Wie Sie bereits erfahren haben besitzt WINDOWS eine Unzahl von Systemnachrichten. Doch das ist noch nicht alles. Jede Anwendung kann ihre eigenen, nur innerhalb einer Fensterklasse oder einer Anwendung gültigen Nachrichten definieren. Zusätzlich ist es noch möglich, neue systemweit gültige Nachrichten zu definieren. Diese Nachrichten werden auch als registrierte Nachrichten bezeichnet. Damit diese neuen Nachrichten nicht mit den vordefinierten Nachrichten kollidieren (zur Erinnerung: Nachrichten sind nur einfache 32-Bit Werte!), wurde der gesamte Nachrichtenbereich in einzelne Bereiche untergliedert. Diese Gliederung teilt sich wie folgt auf:
|
Bereich von...bis |
Bedeutung |
| 0...WM_USER-1 | vordefinierte WINDOWS Nachrichten |
| WM_USER...0x7FFF | anwenderdefinierte, fensterklassenlokale Nachrichten |
| WM_APP...0xBFFF | anwenderdefinierte, anwendungslokale Nachrichten |
| 0xC000...0xFFFF | registrierte Nachrichten |
| > 0xFFFF | reserviert |
Der erste Bereich 0...WM_USER-1 enthält die vordefinierten WINDOWS-Nachrichten wie z.B. die Nachricht WM_CLOSE oder auch WM_LBUTTONDOWN.
Im zweiten Bereich WM_USER...0x7FFF können eigene Nachrichten definiert werden, die nur innerhalb einer bestimmten Fensterklassen gültig sind. Nachrichten, die zwar anwendungslokal aber ohne Bezug auf eine Fensterklasse definiert werden sollen, dürfen nicht in diesem Bereich definiert werden da einige der vordefinierten Fensterklassen (wie z.B. Buttons oder Listboxen) ebenfalls Nachrichten aus diesem Bereich verwenden. Die Konstante WM_USER ist in der Datei WINUSER.H definiert und enthält zur Zeit den Wert 0x0400.
Der dritte Bereich dient zur Definition von anwendungslokalen, aber fensterunabhängigen Nachrichten. WM_APP ist ebenfalls in WINUSER.H definiert und besitzt zur Zeit den Wert 0x8000.
Nachrichten aus dem vierten Bereich sind Nachrichten die systemweit gültig. Sie werden mit der API-Funktion RegisterWindowMessage(...) spezifiziert. Mehrere Anwendungen die die gleiche Nachricht registrieren können dann über eine solche Nachricht miteinander kommunizieren.
| Noch ein wichtiger Hinweis bevor es weiter geht. Tauchen im Text unterstrichene Funktionen auf, so können Sie durch anklicken des Textes eine detaillierte Beschreibung der Funktion in einem gesonderten Fenster einblenden. Sie können dies jetzt gleich ausprobieren, in dem Sie die Funktion RegisterWindowMessage(...) oberhalb dieses Hinweises anklicken. |
In der nächsten Lektion erfahren Sie nun endlich, wie Nachrichten empfangen und gesendet werden.
|
|
|
|
|
|