WM_NCCALCSIZE

De WM_NCCALCSIZE-bericht wordt verzonden wanneer de grootte en positie van het clientgebied van een venster moeten worden berekend. Door verwerking van dit bericht, kunt een toepassing de inhoud van het clientgebied van het venster bepalen wanneer de grootte of de positie van het venster gewijzigd.

WM_NCCALCSIZE fCalcValidRects = wParam (BOOL);        / / geldig gebied markeren lpncsp = lParam (LPNCCALCSIZE_PARAMS);  / / size berekening gegevens of lpncsp = lParam (LPRECT);               / / nieuw venster coŲrdineert 
 

Parameters

fCalcValidRects
De waarde van wParam. Als wParam waar is, het geeft aan dat de toepassing moet aangeven welk deel van het clientgebied bevat geldige informatie. Het systeem de geldige informatie gekopieerd naar het opgegeven gebied binnen de nieuwe client area.

Als wParam FALSE is, hoeft de toepassing niet te geven het geldige deel van het clientgebied.

lpncsp
Waarde van lParam. Als wParam TRUE is, wijst lParam naar een NCCALCSIZE_PARAMS structuur die een toepassing gebruiken kan voor het berekenen van de nieuwe grootte en de positie van de rechthoek client informatie bevat.

Als FALSE wParam is , lParam wijst naar een RECT structuur. Bij binnenkomst bevat de structuur de voorgestelde venster rechthoek voor het venster. Bij afsluiten, moet de structuur bevatten de schermcoŲrdinaten van de overeenkomstige venster client area.

Retourwaarden

Als de parameter fCalcValidRects FALSE is, moet de toepassing nul terugkeren.

Als fCalcValidRects TRUE is, moet de toepassing nul of een combinatie van de volgende waarden retourneren:

Waarde Betekenis
WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT
Deze waarden, gebruikt in combinatie, opgeven dat het clientgebied van het venster worden bewaard en op passende wijze uitgelijnd ten opzichte van de nieuwe positie van het venster. Bijvoorbeeld wilt uitlijnen het clientgebied tot de linkerbenedenhoek, terug de waarden WVR_ALIGNLEFT en WVR_ALIGNBOTTOM.
WVR_HREDRAW, WVR_VREDRAW
Deze waarden, gebruikt in combinatie met andere waarden, veroorzaken het venster volledig opnieuw wordt getekend als de veranderingen van de cliŽnt rechthoek horizontaal of verticaal grootte. Deze waarden zijn vergelijkbaar met de CS_HREDRAW en CS_VREDRAW Klassenstijlen.
WVR_REDRAW
Deze waarde zorgt ervoor dat het hele venster opnieuw wordt getekend. Het is een combinatie van WVR_HREDRAW en WVR_VREDRAW-waarden.
WVR_VALIDRECTS
Deze waarde geeft aan dat, na terugkeer uit WM_NCCALCSIZE, de rechthoeken opgegeven door de rgrc [1] en rgrc [2] leden van de NCCALCSIZE_PARAMS structuur bevatten geldige bestemming en bron gebied rechthoeken, respectievelijk. Het systeem combineert deze rechthoeken voor het berekenen van de oppervlakte van het venster worden bewaard. Een deel van het venster afbeelding die is binnen de bronrechthoek en clips van de afbeelding aan de bestemming rechthoek wordt opgehaald. Beide rechthoeken zijn in bovenliggende-relatieve of scherm-relatieve coŲrdinaten.
Deze waarde kan een toepassing uitvoeren van uitgebreidere clientgebied behoud strategieŽn, zoals centreren of behouden van een subset van het clientgebied.

Als fCalcValidRects is ingesteld op TRUE en een toepassing als nul resultaat, het oude clientgebied bewaard en wordt uitgelijnd met de linkerbovenhoek van het nieuwe gebied.

Standaardactie

Het venster kan worden getekend, afhankelijk van of de klassenstijl CS_HREDRAW of CS_VREDRAW is opgegeven. Dit is de standaardinstelling, neerwaarts compatibele verwerking van dit bericht door de DefWindowProc functie (in aanvulling op de gebruikelijke client rechthoek berekening in de voorgaande tabel beschreven).

Syntaxisinfo

nbsp;†Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
Header:Verklaard in winuser.h.

Zie ook

Windows-overzicht, venster berichten, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT

Index