WM _ NCCALCSIZE 訊息

當必須計算視窗工作區的大小和位置時傳送。 藉由處理這個訊息,應用程式可以在視窗的大小或位置變更時,控制視窗工作區的內容。

視窗會透過其 WindowProc 函數接收此訊息。

#define WM_NCCALCSIZE                   0x0083

參數

wParam

如果 wParamTRUE,它會指定應用程式應該指出工作區的哪個部分包含有效的資訊。 系統會將有效的資訊複製到新工作區中的指定區域。

如果 wParamFALSE,則應用程式不需要表示工作區的有效部分。

lParam

如果 wParamTRUElParam 會指向 NCCALCSIZE _ PARAMS 結構,其中包含應用程式可用來計算用戶端矩形新大小和位置的資訊。

如果 wParamFALSE,則 lParam 會指向 RECT 結構。 當輸入時,結構會包含視窗的建議視窗矩形。 在結束時,結構應包含對應之視窗工作區的螢幕座標。

傳回值

類型: LRESULT

如果 wParam 參數為 FALSE,則應用程式應該傳回零。

如果 wParamTRUE,則應用程式應該傳回零或下列值的組合。

如果 wParamTRUE ,且應用程式傳回零,則會保留舊的工作區,並與新工作區的左上角對齊。

傳回碼/值 Description
WVR _ALIGNTOP
0x0010
指定要保留視窗的工作區,並與視窗新位置的頂端對齊。 例如,若要將工作區對齊左上角,請傳回 WVR _ ALIGNTOP 和 WVR _ ALIGNLEFT 值。
WVR _ALIGNRIGHT
0x0080
指定要保留視窗的工作區,並與視窗新位置的右邊對齊。 例如,若要將工作區對齊右下角,請傳回 WVR _ ALIGNRIGHT 和 WVR _ ALIGNBOTTOM 值。
WVR _ALIGNLEFT
0x0020
指定要保留視窗的工作區,並與視窗新位置的左邊對齊。 例如,若要將工作區對齊左下角,請傳回 WVR _ ALIGNLEFTWVR _ ALIGNBOTTOM 值。
WVR _ALIGNBOTTOM
0x0040
指定要保留視窗的工作區,並與視窗新位置的底部對齊。 例如,若要將工作區對齊左上角,請傳回 WVR _ ALIGNTOP 和 WVR _ ALIGNLEFT 值。
WVR _HREDRAW
0x0100
與任何其他值搭配使用(除了 WVR _ VALIDRECTS 以外)時,如果用戶端矩形以水準方式變更大小,就會讓視窗完全重繪。 此值類似于 CS _ HREDRAW 類別樣式
WVR _VREDRAW
0x0200
與任何其他值搭配使用(除了 WVR _ VALIDRECTS)時,如果用戶端矩形的大小垂直變更,則會讓視窗完全重繪。 此值類似于 CS _ VREDRAW 類別樣式
WVR _重繪
0x0300
此值會重新繪製整個視窗。 它是 WVR _ HREDRAWWVR _ VREDRAW 值的組合。
WVR _VALIDRECTS
0x0400
這個值表示,在從 WM _ NCCALCSIZE傳回時, [ NCCALCSIZE PARAMS 結構的 rgrc 1 和 rgrc 2 成員所指定的矩形會 ] [ ] 分別包含有效的目的地和來源區域矩形。 _ 系統會合並這些矩形,以計算要保留的視窗區域。 系統會複製來源矩形內視窗影像的任何部分,並將影像裁剪至目的地矩形。 這兩個矩形都在父相對或螢幕相對座標中。 此旗標無法與任何其他旗標合併。
此傳回值可讓應用程式執行更詳盡的用戶端區域保留原則,例如,將工作區的子集集中或保留。

備註

視是否指定 cs _ HREDRAW 或 cs _ VREDRAW 類別樣式而定,可能會重新繪製視窗。 這是 DefWindowProc 函式 (的預設回溯相容性處理,除了上表中所述的一般用戶端矩形計算) 之外。

wParamTRUE 時,只要在未處理 NCCALCSIZE _ PARAMS 矩形的情況下傳回0,就會使工作區大小調整為視窗的大小,包括視窗框架。 這會從您的視窗中移除視窗框架和標題專案,只留下顯示的工作區。

從 Windows Vista 開始,只要在 wParamTRUE 時直接傳回0,即可移除標準框架,而不會影響使用 DwmExtendFrameIntoClientArea函數延伸至工作區的框架。 只會移除標準框架。

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winuser (包含 Windows .h)

另請參閱

參考

DefWindowProc

MoveWindow

SetWindowPos

NCCALCSIZE _ 參數

概念

Windows

其他資源

矩形