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
Als wParam FALSE is, hoeft de toepassing niet te geven het geldige deel van het clientgebied.
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.
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.
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).
nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
Header:Verklaard in winuser.h.
Windows-overzicht, venster berichten, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT