Fensterprozedur

Die Fensterprozedur ist zuständig für die Verarbeitung aller Nachrichten die an Fenster einer Fensterklasse gerichtet sind. Sie wird niemals durch die Anwendung direkt aufgerufen sondern immer indirekt durch die Funktion DispatchMessage(...) innerhalb der Nachrichtenschleife der Anwendung.

Die Fensterprozedur hat folgendes Prototyping:

LRESULT CALLBACK WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

Die Parameter haben folgende Bedeutung:

Parameter

Bedeutung

HWND hwnd Handle des Fensters, an das die Nachricht gerichtet ist.
UINT uMsg Die Nachricht selbst.
WPARAM wParam Erster, vorzeichenbehafteter Nachrichtenparameter; Bedeutung hängt von uMsg ab.
LPARAM lParam Zweiter, vorzeichenloser Nachrichtenparameter; Bedeutung hängt von uMsg ab.

Wenn Sie Kurs bisher aufmerksam verfolgt haben so sollten Ihnen diese Parameter bekannt vorkommen. Es sind die ersten vier Parameter der Nachrichtenstruktur. Innerhalb der Fensterprozedur verarbeitet die Anwendung nur die Nachrichten, die für sie relevant sind. Alle anderen Nachrichten müssen an die Standard-Fensterprozedur DefWindowProc(...) weitergegeben werden.

Der Returnwert vom Typ LRESULT ist das Ergebnis der Nachrichtenbearbeitung und hängt von der bearbeiteten Nachricht ab.

Noch ein Hinweis zum Wort CALLBACK im Funktionsprototyping. Funktionen die als CALLBACK-Funktionen definiert sind werden immer nur von WINDOWS aufgerufen. Ihre Anwendung darf eine solche Funktion niemals direkt aufrufen!



Copyright © 2004

Senden Sie Emails mit Fragen oder Kommentaren zu dieser Website an: mailto:info@cpp-tutor.de
 Wolfgang Schröder, Lerchenweg 23, D-72805 Lichtenstein. Tel: +49 7129 6470