API-Funktion InvalidateRect(...)

Die Funktion InvalidateRect(...) kennzeichnet einen rechteckigen Bereich innerhalb eines Fensters als ungültig und löst damit eine WM_PAINT Nachricht aus.

InvalidateRect(....) hat folgendes Prototyping:

BOOL InvalidateRect (HWND hWnd, CONST RECT *lpRect, BOOL bErase);

Die Parameter haben folgende Bedeutung:

Parameter

Bedeutung

HWND hWnd Fenster-Handle des Fensters, in dem ein Bereich als ungültig gekennzeichnet werden soll oder NULL (siehe nachfolgend).
CONST RECT lpRect Zeiger auf eine RECT Struktur, die die Client-Koordinaten des ungültigen Bereichs enthält oder NULL (siehe nachfolgend).
BOOL bErase Flag ob der Fensterhintergrund neu zu zeichnen ist.

Wird für hWnd der Wert NULL werden alle Fenster als ungültig gekennzeichnet und damit neu darstellt. An alle Fenster werden die Nachrichten WM_ERASEBKGND und WM_NCPAINT versandt bevor die Funktion zurückkehrt. Mehr zu diesen Nachrichten später im Kurs.

Wird für lpRect der Wert NULL angegeben, so wird die gesamte Client-Area des Fensters als ungültig gekennzeichnet.

Wenn bErase auf TRUE gesetzt wird, wird beim Aufruf von BeginPaint(...) der Fensterhintergrund neu gezeichnet.

Als Returnwert liefert die Funktion einen Wert ungleich 0 wenn der Aufruf erfolgreich war.

hinweis.gif (2251 Byte) Ruft eine Anwendung mehrmals hintereinander für ein Fenster aber mit unterschiedlichen Bereichen diese Funktion auf, so wird trotzdem nur eine WM_PAINT Nachricht an die Anwendung gesendet. Der endgültige Clipping-Bereich ist dann die Kombination aus allen Einzelbereichen, d.h. es wird das alle Einzelbereiche umschließende Rechteck gebildet.


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