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,则应用程序必须显式使需要重绘的窗口和父窗口的任何部分失效或重绘。

MoveWindowWM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGEDWM_MOVEWM_SIZEWM_NCCALCSIZE 消息发送到窗口。

示例

有关示例,请参阅 创建、枚举和调整子窗口的大小

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8.1) 中引入的 ext-ms-win-ntuser-window-l1-1-1 (

请参阅

概念性

其他资源

引用

SetWindowPos

UpdateWindow

WM_GETMINMAXINFO

WM_PAINT

Windows