Ablak háttere
Az ablakháttér az ügyfélterület kitöltéséhez használt szín vagy minta az ablak rajzolása előtt. Az ablakháttér lefedi, hogy mi volt a képernyőn az ablak áthelyezése előtt, törölve a meglévő képeket, és megakadályozza, hogy az alkalmazás új kimenete ne keveredjék a nem kapcsolódó információkkal.
A rendszer egy ablak hátterét festi le, vagy lehetőséget ad az ablaknak erre, ha WM_ERASEBKGND üzenetet küld neki, amikor az alkalmazás meghívja BeginPaint. Ha egy alkalmazás nem dolgozza fel az üzenetet, de átadja azt DefWindowProc, a rendszer törli a hátteret úgy, hogy kitölti az ablak osztálya által megadott háttérkefe mintájával. Ha az ecset érvénytelen, vagy az osztály nem rendelkezik háttérkefével, a rendszer beállítja a fErase tagot az PAINTSTRUCT struktúrában, amelyet BeginPaint visszaad, de nem hajt végre más műveletet. Az alkalmazásnak ezután van egy második lehetősége arra, hogy szükség esetén megrajzolja az ablak hátterét.
Ha WM_ERASEBKGNDdolgoz fel, az alkalmazásnak az üzenet wParam paraméterével kell rajzolnia a hátteret. Ez a paraméter az ablak megjelenítési eszközkörnyezetének leíróját tartalmazza. A háttér rajzolása után az alkalmazásnak nem nulla értéket kell visszaadnia. Ez biztosítja, hogy BeginPaint ne állítsa tévesen a fErase tagot a PAINTSTRUCT struktúrájának nemzero értékre (jelezve a háttér törlését), amikor az alkalmazás feldolgozza a következő WM_PAINT üzenetet.
Az alkalmazások úgy definiálhatnak osztályhátteret, hogy egy ecsetfogópontot vagy egy rendszerszínértéket rendelnek a hbrBackgroundWNDCLASS struktúrájának tagjához, amikor regisztrálják az osztályt a RegisterClass függvénnyel. A GetStockObject vagy CreateSolidBrush függvény használható ecsetfogópont létrehozásához. A rendszer színértéke lehet az SetSysColors függvényhez definiált értékek egyike. (Az értéket a taghoz való hozzárendelés előtt eggyel kell növelni.)
Az alkalmazások akkor is feldolgozhatják a WM_ERASEBKGND üzenetet, ha osztályhátteret definiálnak. Ez jellemző azokban az alkalmazásokban, amelyek lehetővé teszik, hogy a felhasználó egy adott ablak háttérszínét vagy mintázatát módosítsa anélkül, hogy az az osztály többi ablakát érintené. Ilyen esetekben az alkalmazás nem továbbíthatja az üzenetet DefWindowProc.
Nem szükséges, hogy egy alkalmazás egymáshoz igazítsa az keféket, mert a rendszer referenciapontként az ablak forrását használva rajzolja meg az kefét. Ennek alapján a felhasználó anélkül mozgathatja az ablakot, hogy befolyásolná a mintakefék igazítását.