Tło okna
Tło okna jest kolorem lub wzorcem używanym do wypełnienia obszaru klienta przed rozpoczęciem rysowania okna. Tło okna obejmuje wszystko, co było na ekranie przed przeniesieniem okna, wymazywanie istniejących obrazów i zapobieganie mieszaniu nowych danych wyjściowych aplikacji z niepowiązanymi informacjami.
System maluje tło okna lub daje temu możliwość, wysyłając mu komunikat WM_ERASEBKGND, gdy aplikacja wywołuje BeginPaint. Jeśli aplikacja nie przetwarza komunikatu, ale przekazuje go do DefWindowProc, system wymazuje tło, wypełniając go wzorcem w pędzlu tła określonym przez klasę okna. Jeśli szczotka jest nieprawidłowa lub klasa nie ma pędzla tła, system ustawia element członkowski fErase w strukturze PAINTSTRUCT, która BeginPaint zwraca, ale nie wykonuje żadnych innych akcji. Następnie aplikacja ma drugą szansę na rysowanie tła okna, jeśli jest to konieczne.
Jeśli przetwarza WM_ERASEBKGND, aplikacja powinna użyć parametru komunikatu wParam, aby narysować tło. Ten parametr zawiera uchwyt do wyświetlania kontekstu urządzenia dla okna. Po rysunku tła aplikacja powinna zwrócić wartość niezerową. Gwarantuje to, że BeginPaint nie ustawia błędnie elementu fErase elementu członkowskiego PAINTSTRUCT na wartość niezerową (wskazującą tło powinny zostać wymazane), gdy aplikacja przetwarza kolejny komunikat WM_PAINT.
Aplikacja może zdefiniować szczotkę tła klasy, przypisując uchwyt pędzla lub wartość koloru systemu do hbrBackground składowej struktury WNDCLASS podczas rejestrowania klasy za pomocą funkcji RegisterClass. Funkcja GetStockObject lub CreateSolidBrush może służyć do tworzenia uchwytu pędzla. Wartość koloru systemu może być jedną z tych zdefiniowanych dla funkcji SetSysColors. (Wartość musi zostać zwiększona o jedną, zanim zostanie przypisana do elementu członkowskiego).
Aplikacja może przetworzyć komunikat WM_ERASEBKGND, mimo że zdefiniowano szczotkę tła klasy. Jest to typowe w aplikacjach, które umożliwiają użytkownikowi zmianę koloru tła okna lub wzorca dla określonego okna bez wpływu na inne okna w klasie. W takich przypadkach aplikacja nie może przekazać komunikatu do DefWindowProc.
Nie jest konieczne, aby aplikacja wyrównywać pędzle, ponieważ system rysuje szczotkę przy użyciu źródła okna jako punktu odniesienia. Biorąc pod uwagę to, użytkownik może przenieść okno bez wpływu na wyrównanie pędzli do wzorca.