Oblast nonclient
Systém odešle do okna WM_NCPAINT zprávu vždy, když musí být aktualizována část oblasti okna, která není klientem, například záhlaví, řádek nabídek nebo rámeček okna. Systém může také posílat další zprávy, aby nasměrovala okno na aktualizaci části jeho klientské oblasti; Například když se okno stane aktivní nebo neaktivní, odešle zprávu WM_NCACTIVATE, aby se aktualizoval její záhlaví. Obecně platí, že zpracování těchto zpráv pro standardní okna se nedoporučuje, protože aplikace musí být schopna nakreslit všechny požadované části oblasti jiného klienta pro okno. Z tohoto důvodu většina aplikací předává tyto zprávy DefWindowProc pro výchozí zpracování.
Aplikace, která pro svá okna vytváří vlastní oblasti, které nejsou klienty, musí tyto zprávy zpracovat. Když to uděláte, aplikace musí k provádění kreslení v okně použít kontext zařízení okna. Kontext zařízení okna umožňuje aplikaci kreslit ve všech částech okna, včetně oblasti bez klienta. Aplikace načte kontext zařízení okna pomocí funkce GetWindowDC nebo GetDCEx a po dokončení výkresu musí uvolnit kontext zařízení okna pomocí funkce ReleaseDC.
Systém udržuje oblast aktualizace pro oblast, která není klientem. Když aplikace obdrží WM_NCPAINT zprávu, wParam parametr obsahuje popisovač oblasti definující dimenze oblasti aktualizace. Aplikace může pomocí popisovače zkombinovat oblast aktualizace s oblastí výřezu kontextu zařízení. Systém při načítání kontextu zařízení okna automaticky nezkombinuje oblast aktualizace, pokud aplikace nepoužívá GetDCEx a určuje popisovač oblasti i příznak DCX_INTERSECTRGN. Pokud aplikace nekombinuje oblast aktualizace, jsou oříznuty pouze operace kreslení, které by jinak rozšířily mimo okno. Aplikace neodpovídá za vymazání oblasti aktualizace bez ohledu na to, jestli oblast používá.
Pokud aplikace zpracuje WM_NCACTIVATE zprávu, musí se po zpracování vrátit TRUE, aby systém dokončil změnu aktivního okna. Pokud je okno minimalizované, když aplikace obdrží zprávu WM_NCACTIVATE, měla by předat zprávu DefWindowProc. V takových případech výchozí funkce překreslí popisek ikony.