moveWindow 函式 (winuser.h)

變更指定視窗的位置和維度。 針對最上層視窗,位置和維度會相對於畫面的左上角。 如果是子視窗,它們會相對於父視窗工作區的左上角。

語法

BOOL MoveWindow(
  [in] HWND hWnd,
  [in] int  X,
  [in] int  Y,
  [in] int  nWidth,
  [in] int  nHeight,
  [in] BOOL bRepaint
);

參數

[in] hWnd

類型: HWND

視窗的句柄。

[in] X

類型: int

視窗左側的新位置。

[in] Y

類型: int

視窗頂端的新位置。

[in] nWidth

類型: int

視窗的新寬度。

[in] nHeight

類型: int

視窗的新高度。

[in] bRepaint

類型: BOOL

指出視窗是否要重繪。 如果此參數為 TRUE,視窗就會收到訊息。 如果參數為 FALSE,則不會重繪任何種類。 這適用於工作區、非工作區 (包括標題列和滾動條) ,以及因為移動子視窗而發現父視窗的任何部分。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

如果 bRepaint 參數為 TRUE,則系統會在行動視窗 (之後立即將 WM_PAINT 訊息傳送至視窗程式, 也就是 MoveWindow 函式會呼叫 UpdateWindow 函式) 。 如果 bRepaintFALSE,應用程式必須明確失效或重新繪製需要重新繪製之視窗和父視窗的任何部分。

MoveWindow 會將 WM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGEDWM_MOVEWM_SIZEWM_NCCALCSIZE 訊息傳送至視窗。

範例

如需範例,請參閱 建立、列舉和重設大小子視窗

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-window-l1-1-1 (在 Windows 8.1) 中引進

另請參閱

概念

其他資源

參考

SetWindowPos

UpdateWindow

WM_GETMINMAXINFO

WM_PAINT

Windows