WM_NCCALCSIZE

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 

 

Parametry

fCalcValidRects
Wartość wParam. WParam jest TRUE, określa, że we wniosku należy wskazać, które część obszaru klienckiego zawiera ważne informacje. System kopiuje ważne informacje do określonego obszaru w obrębie nowego obszaru klienckiego.

Jeśli wParam ma wartość FALSE, stosowania nie trzeba wskazać ważna część obszaru klienckiego.

lpncsp
Wartość fikcyjnymi. Jeśli wParam jest TRUE, fikcyjnymi wskazuje na strukturę NCCALCSIZE_PARAMS , który zawiera informacje, których aplikacja może używać do obliczania nowy rozmiar i położenie prostokąta klienta.

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.

Zwraca wartości

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.

Akcja domyślna

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).

Skrócone informacje

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.

Zobacz też

Omówienie Windows, komunikaty okna, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT

Index