WM_NCCALCSIZE

ההודעה WM_NCCALCSIZE נשלח כאשר יש אפשרות לחשב את הגודל והמיקום של אזור הלקוח של חלון. על-ידי עיבוד הודעה זו, יישום יכול לשלוט בתוכן של אזור הלקוח של החלון בעת שינוי גודל או מיקום של חלון.

WM_NCCALCSIZE fCalcValidRects = wParam (BOOL);        / / אזור חוקית דגל lpncsp = lParam (LPNCCALCSIZE_PARAMS);  / / גודל חישוב נתונים או lpncsp = lParam (LPRECT);               / / מרכזת חלון חדש 

 

פרמטרים

fCalcValidRects
הערך של wParam. אם wParam הוא TRUE, ערך זה מציין היישום אמור לציין איזה חלק של אזור הלקוח מכיל מידע תקף. המערכת מעתיק את המידע חוקי לאזור שצוין באזור לקוח חדש.

אם wParam הוא FALSE, היישום אין צורך לציין את החלק חוקי של אזור הלקוח.

lpncsp
הערך של lParam. אם wParam הוא TRUE, lParam מצביע למבנה NCCALCSIZE_PARAMS המכיל מידע שליישום יש אפשרות להשתמש כדי לחשב את גודל חדש ואת מיקומו של מלבן לקוח.

אם wParam הוא FALSE, lParam מצביע RECT מבנה. בערך, המבנה מכיל למלבן החלון המוצע עבור החלון. ביציאה, המבנה יכיל את הקואורדינטות מסך של אזור הלקוח המתאים של חלון.

להחזיר ערכים

אם הפרמטר fCalcValidRects הוא FALSE, היישום צריך להחזיר אפס.

אם fCalcValidRects הוא TRUE, היישום צריך להחזיר אפס או צירוף של הערכים הבאים:

ערך משמעות
WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT
ערכים אלה, שמשמשים במשולב, ציין כי אזור הלקוח של החלון הוא שנשתמרו, מיושר כראוי ביחס למיקום החדש של החלון. לדוגמה, כדי ליישר את אזור הלקוח אל הפינה השמאלית התחתונה, להחזיר את הערכים WVR_ALIGNLEFT ו- WVR_ALIGNBOTTOM.
WVR_HREDRAW, WVR_VREDRAW
ערכים אלה, משמש בשילוב עם ערכים אחרים, לגרום החלון כדי לחלוטין בעבר אם השינויים מלבן לקוח גודל בצורה אופקית או אנכית. ערכים אלה דומים CS_HREDRAW ואת CS_VREDRAW סגנונות מחלקה.
WVR_REDRAW
ערך זה גורם את כל החלון בעבר. זהו שילוב של ערכי WVR_HREDRAW ו- WVR_VREDRAW.
WVR_VALIDRECTS
ערך זה מציין כי עם החזרה מן WM_NCCALCSIZE, המלבנים שצוין על-ידי rgrc [1] , rgrc [2] חברים של מבנה NCCALCSIZE_PARAMS להכיל יעד חוקי וריבועים אזור המקור, בהתאמה. המערכת משלבת אלה מלבנים לחשב את השטח של החלון כדי להישמר. המערכת מעתיקה חלק כלשהו של התמונה חלון בתוך מלבן מקור, חותכת את התמונה מלבן היעד. שני מלבנים הם בקואורדינטות של האב-יחסית או מסך-יחסית.
ערך החזרה זה מאפשר יישום ליישום אסטרטגיות שימור אזור הלקוח מורכבים יותר, כגון מרכוז או שימור תת-ערכה של אזור הלקוח.

אם fCalcValidRects הוא TRUE, יישום מחזירה אפס, באזור העתיק של הלקוח נשמר, מיושר עם הפינה השמאלית העליונה של האזור לקוח חדש.

פעולת ברירת מחדל

החלון עשויה בעבר, תלוי אם צוין סגנון מחלקה CS_HREDRAW או CS_VREDRAW. זוהי ברירת המחדל, לאחור עיבוד של הודעה זו על-ידי הפונקציה DefWindowProc (בנוסף לשם חישוב מלבן לקוח הרגילים המתוארים בטבלה הקודמת).

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.

ראה גם

מבט כולל על Windows, חלון הודעות, DefWindowProc, MoveWindow, SetWindowPos, NCCALCSIZE_PARAMS, RECT

Index