WM_NCCALCSIZE

WM_NCCALCSIZE-meldingen blir sendt når størrelsen og plasseringen av et vindu klientområdet må beregnes. Ved å behandle denne meldingen, kan et program kontrollere innholdet av vinduets klientområdet når størrelsen på eller plasseringen av vinduet endres.

WM_NCCALCSIZE fCalcValidRects = (BOOL) wParam;        / / gyldig område flagge lpncsp = lParam (LPNCCALCSIZE_PARAMS);  / / størrelse beregningsdata eller lpncsp = lParam (LPRECT);               / / nytt vindu koordinerer 

 

Parametere

fCalcValidRects
Verdien av wParam. Hvis wParam er TRUE, angir det at programmet bør indikere hvilken del av klientområdet inneholder gyldig informasjon. Systemet kopieres gyldig informasjonen til det angitte området innenfor det nye klientområdet for.

Hvis wParam er FALSE, trenger programmet ikke å angi den gyldige delen av klientområdet.

lpncsp
Verdien av lParam. Hvis wParam er TRUE, peker lParam til en NCCALCSIZE_PARAMS struktur som inneholder informasjon som et program kan bruke til å beregne den nye størrelsen og plasseringen av klient-rektangel.

Hvis wParam er USANN, lParam peker til en RECT struktur. Ved registrering inneholder strukturen foreslåtte vinduet rektanglet for vinduet. Ved avslutning, skal strukturen inneholde skjermkoordinater i tilsvarende vindusområdet for klienten.

Returverdier

Hvis parameteren fCalcValidRects er FALSE, skal programmet returnere null.

Hvis fCalcValidRects er TRUE, skal programmet returnere null eller en kombinasjon av følgende verdier:

Verdi Betydning
WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT
Disse verdiene, som brukes i kombinasjon, angi at klientområdet i vinduet skal være bevart og justert riktig forhold til den nye posisjonen for vinduet. For eksempel vil justere klientområdet til nederste venstre hjørne, returnere verdiene WVR_ALIGNLEFT og WVR_ALIGNBOTTOM.
WVR_HREDRAW, WVR_VREDRAW
Disse verdiene, som brukes i kombinasjon med andre verdier, føre til vinduet til tilbaketrekkes helt hvis klienten rektangel endringene størrelse vannrett eller loddrett. Disse verdiene er lignende klassen-stilene for CS_HREDRAW og CS_VREDRAW.
WVR_REDRAW
Denne verdien gjør at hele vinduet til tilbaketrekkes. Det er en kombinasjon av WVR_HREDRAW og WVR_VREDRAW-verdier.
WVR_VALIDRECTS
Denne verdien angir som, ved retur fra WM_NCCALCSIZE, rektangler som er angitt av rgrc [1] , og rgrc [2] medlemmer av NCCALCSIZE_PARAMS -strukturen inneholder gyldig mål og kilde området rektangler, henholdsvis. Systemet kombinerer disse rektangler til å beregne området av vinduet for å bli bevart. Systemet kopierer noen del av vinduet bildet som er innenfor rektanglet kilde og klipp bildet til rektangelet som er målet. Begge rektangler er i overordnede-forhold eller i skjermen-forhold-koordinater.
Denne returverdien tillater et program å implementere mer forseggjort klientområdet bevaring strategier, som Sentrering eller bevare et delsett av klientområdet.

Hvis fCalcValidRects er TRUE, og et program returnerer null, gamle klientområdet er bevart, og er på linje med det øverste venstre hjørnet av nye klientområdet.

Standardhandling

Vinduet kan tilbaketrekkes, avhengig av om klasse i stilen CS_HREDRAW eller CS_VREDRAW er angitt. Dette er standardverdien, bakoverkompatible behandling av denne meldingen av funksjonen DefWindowProc (i tillegg til vanlig klient rektangel beregning som er beskrevet i tabellen ovenfor).

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i winuser.h.

Se også

Oversikt over Windows, vindusmeldinger, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT

Index