Gdy rozmiar i położenie obszaru okna klienta musi być obliczona zostaje wysłany komunikat WM_NCCALCSIZE. Przetwarzanie tej wiadomości, aplikacji można kontrolować zawartość obszaru okna klienta podczas zmiany rozmiaru lub położenia okna.
WM_NCCALCSIZE fCalcValidRects = wParam (wartość logiczna); / / obszar ważne flagi lpncsp = fikcyjnymi (LPNCCALCSIZE_PARAMS); / / rozmiar obliczania danych lub lpncsp = fikcyjnymi (LPRECT); / / koordynuje nowe okno
Jeśli wParam ma wartość FALSE, stosowania nie trzeba wskazać ważna część obszaru klienckiego.
Jeśli wParam ma wartość FALSE, fikcyjnymi wskazuje na RECT struktury. W zapisie struktura zawiera prostokąt okno proponowanych dla okna. Przy wyjeździe struktury powinny zawierać współrzędne ekranu odpowiedniego obszaru klienckiego okna.
Jeśli parametr fCalcValidRects ma wartość FALSE, aplikacja powinna zwrócić zero.
Jeśli fCalcValidRects ma wartość TRUE, wniosek powinien zwrócić zero lub kombinacji następujących wartości:
| Wartość | Znaczenie |
|---|---|
| WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT | |
| Wartości te, w połączeniu, określić, że obszaru klienckiego okna ma być zachowane i odpowiednio wyrównany względem położenia nowego okna. Na przykład aby wyrównać do lewego dolnego rogu obszaru klienckiego, zwracają wartości WVR_ALIGNLEFT i WVR_ALIGNBOTTOM. | |
| WVR_HREDRAW, WVR_VREDRAW | |
| Wartości te, w połączeniu z innych wartości, spowodować okna całkowicie zostać odświeżone, jeśli zmiany prostokąt klienta rozmiar poziomo lub pionowo. Wartości te są podobne do stylami klasy CS_HREDRAW i CS_VREDRAW. | |
| WVR_REDRAW | |
| Ta wartość powoduje, że całe okno zostać odświeżone. Jest kombinacją wartości WVR_HREDRAW i WVR_VREDRAW. | |
| WVR_VALIDRECTS | |
| Wartość ta wskazuje, że po powrocie z WM_NCCALCSIZE, prostokąty, określonej przez rgrc [1] i rgrc [2] członków konstrukcji NCCALCSIZE_PARAMS zawierać prawidłową lokalizację docelową i prostokąty obszar źródłowy, odpowiednio. System łączy te prostokąty obliczyć obszar okna do konserwacji. System kopiuje jakiejkolwiek części obrazu okna, który jest wewnątrz prostokąta źródłowego i przycina obraz docelowy prostokąt. Zarówno prostokąty są w współrzędne nadrzędne względem lub względem ekranu. | |
| Ta wartość zwracany umożliwia aplikacji do wprowadzenia bardziej opracowywać strategie zachowania obszaru klienta, takie jak wyśrodkowanie lub zachowania podzbiór obszaru klienckiego. | |
Jeśli fCalcValidRects ma wartość TRUE, a aplikacja zwraca zero, starą obszaru klienta są zakonserwowane i jest wyrównany do lewego górnego rogu nowego obszaru klienckiego.
Okno może zostać odświeżone, w zależności od tego, czy określony styl klasowy CS_HREDRAW lub CS_VREDRAW. To jest wartość domyślna, wstecznie zgodne przetwarzania tej wiadomości przez funkcję DefWindowProc (oprócz obliczenia prostokąt zwykłe klienta opisanych w poprzedniej tabeli).
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Nieobsługiwane.
Nagłówka:Zadeklarowane w pliku winuser.h.
Omówienie Windows, komunikaty okna, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT