WM_NCCALCSIZE

WM_NCCALCSIZE mesajul este expediat când se calculează mărimea și poziția unei ferestre client zona. Prin prelucrarea acest mesaj, cererea poate controla conținutul de zone a ferestrei client atunci când se modifică dimensiunea sau poziția ferestrei.

WM_NCCALCSIZE fCalcValidRects = wParam (BOOL);        / / zona valabil pavilion lpncsp = lParam (LPNCCALCSIZE_PARAMS);  / / size calcularea datelor sau lpncsp = lParam (LPRECT);               / / fereastră nouă coordonează 

 

Parametrii

fCalcValidRects
Valoarea wParam. Dacă wParam este TRUE, se precizează că aplicarea ar trebui să indice care parte a zonei de client conține informații valide. Sistemul copiază informația validă în zona specificată în zona client nou.

Dacă wParam este FALSE, cererea nu nevoie să se indice partea valabil din zona de client.

lpncsp
Valoarea lParam. Dacă wParam este TRUE, lParam puncte la o structură de NCCALCSIZE_PARAMS , care conține informații despre o cerere poate utiliza pentru a calcula noi dimensiunea și poziția din dreptunghiul client.

Dacă wParam este FALSE, lParam puncte de la un RECT structura. La intrare, structura conține dreptunghiul fereastra propuse de fereastra. La ie?ire, structura ar trebui să con?ină a coordonatelor de ecran corespunzătoare zonei fereastră client.

Valorile întroarse

Dacă parametrul fCalcValidRects este FALSE, cererea trebuie să returnați zero.

Dacă fCalcValidRects este TRUE, cererea trebuie să returnați zero sau o combinație de următoarele valori:

Valoarea Sensul
WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT
Aceste valori, utilizate în combinație, specificați că zona de client a ferestrei este să fie conservate și aliniate în mod corespunzător relativ la noua poziție a ferestrei. De exemplu, pentru a alinia zona client la colțul stânga, întoarce valorile WVR_ALIGNLEFT și WVR_ALIGNBOTTOM.
WVR_HREDRAW, WVR_VREDRAW
Aceste valori, utilizate în combina?ie cu alte valori, cauza ferestrei pentru a fi complet rescris dacă modificările dreptunghi client dimensiunea orizontal sau vertical. Aceste valori sunt similar stilurile de clasa CS_HREDRAW și CS_VREDRAW.
WVR_REDRAW
Această valoare determină întreaga fereastră să fie rescris. Este o combinație de valorile WVR_HREDRAW și WVR_VREDRAW.
WVR_VALIDRECTS
Această valoare indică faptul că, la întoarcerea din WM_NCCALCSIZE, dreptunghiuri specificate de rgrc [1] și membrii structura NCCALCSIZE_PARAMS rgrc [2] conține destinație valabil și dreptunghiuri zona sursă, respectiv. Sistemul combină aceste dreptunghiuri pentru a calcula zona a ferestrei pentru a fi păstrate. Sistemul copiază orice parte din imagine în fereastră care este în interiorul dreptunghiului sursă și clipuri imaginea destinație dreptunghiului. Două dreptunghiuri sunt în mamă-relativă sau ecran-relativă coordonate.
Această valoare permite o cerere pentru a pune în aplicare strategii mai elaborate a client-zona pentru conservare, cum ar fi centrare ?i păstrarea un subset din zona de client.

Dacă fCalcValidRects este TRUE și o cerere returnează zero, zona client vechi este păstrată și este aliniat cu colțul din stânga-sus din zona client nou.

Ac?iune implicită

Fereastra poate fi rescris, în funcție de dacă se specifică stilul de clasa CS_HREDRAW sau CS_VREDRAW. Aceasta este implicit, compatibil transformare acestui mesaj de funcția DefWindowProc (în plus față de obicei client dreptunghi calculul descris în tabelul anterior).

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Neacceptat.
Antet:A declarat în winuser.h.

A se vedea, de asemenea

Prezentare generală a Windows, fereastra de mesaje, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT

Index