ValidateRect
ValidateRect函数通过从指定窗口的更新区域中删除矩形来验证矩形内的客户区。
BOOL ValidateRect(
HWND hWnd, // 窗口句柄
CONST RECT *lpRect // 验证矩形坐标
);
参数
返回值
如果函数成功,返回值为非零。
如果函数失败,返回值为零。
Windows NT/2000/XP: 要获得扩展的错误信息,请调用GetLastError。
备注
BeginPaint函数自动验证整个客户区。 如果在生成下一条WM_PAINT消息之前必须验证更新区域的一部分,则不应调用ValidateRect和ValidateRgn函数。
系统继续生成WM_PAINT消息,直到当前更新区域被验证。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
TileWindows
TileWindows函数将指定的父窗口的指定子窗口进行拼贴。
WORD TileWindows(
HWND hwndParent, // 父窗口句柄
UINT wHow, // 平铺选项
CONST RECT *lpRect, // 客户区
UINT cKids, // 要安排的窗口数量
const HWND *lpKids // 窗口句柄数组
);
参数
hwndParent
[in] 父窗口句柄。 如果此参数为NULL,则假定桌面窗口。
wHow
[in] 指定平铺标志。 此参数可以是以下值之一 - 可选地与MDITILE_SKIPDISABLED结合使用,以防止禁用MDI子窗口平铺。
值 | 含义 |
---|
MDITILE_HORIZONTAL | 水平平铺窗口。 |
MDITILE_VERTICAL | 垂直的平铺窗口。 |
lpRect
[in] 指向RECT结构的指针,用于指定窗口排列在其中的客户端坐标中的矩形区域。 如果此参数为NULL,则使用父窗口的客户区。
cKids
[in] 指定由lpKids参数指定的数组中元素的数量。 如果lpKids为NULL,则忽略此参数。
lpKids
[in] 指向要排列的子窗口的一系列句柄的指针。 如果此参数为NULL,则会安排指定的父窗口(或桌面窗口)的所有子窗口。
返回值
如果函数成功,返回值是排列的窗口数量。
如果函数失败,返回值为零。 要获得扩展的错误信息,请调用GetLastError。
备注
调用TileWindows会使所有最大化的窗口恢复到以前的大小。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
ShowWindowAsync
ShowWindowAsync函数设置由不同线程创建的窗口的显示状态。
BOOL ShowWindowAsync(
HWND hWnd, // 窗口句柄
int nCmdShow // 显示状态
);
参数
返回值
如果窗口先前可见,则返回值不为零。
如果窗口先前被隐藏,则返回值为零。
备注
此函数将show-window事件发布到给定窗口的消息队列中。 应用程序可以使用此函数避免在等待挂起的应用程序完成处理显示窗口事件时挂起。
要求
Windows NT/2000/XP: 包含在Windows NT 4.0和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
ShowWindow
ShowWindow函数设置指定窗口的显示状态。
BOOL ShowWindow(
HWND hWnd, // 窗口句柄
int nCmdShow // 显示状态
);
参数
返回值
如果该窗口先前可见,则返回值不为零。
如果窗口先前被隐藏,则返回值为零。
备注
应用程序第一次调用ShowWindow时,它应该使用WinMain函数的nCmdShow参数作为它的nCmdShow参数。 随后对ShowWindow的调用必须使用给定列表中的一个值,而不是由WinMain函数的nCmdShow参数指定的值。
如讨论nCmdShow参数所述,如果启动应用程序的程序在STARTUPINFO结构中指定启动信息,则在第一次调用ShowWindow时,nCmdShow值将被忽略。 在这种情况下,ShowWindow使用STARTUPINFO结构中指定的信息来显示窗口。 在后续调用中,应用程序必须调用ShowWindow,并将nCmdShow设置为SW_SHOWDEFAULT以使用启动应用程序的程序提供的启动信息。 此行为是为以下情况设计的:
示例代码
有关示例,请参阅创建主窗口。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
SubtractRect
SubtractRect函数确定通过从另一个矩形中减去一个矩形形成的矩形的坐标。
BOOL SubtractRect(
LPRECT lprcDst, // 目标矩形
CONST RECT *lprcSrc1, // 第一个矩形
CONST RECT *lprcSrc2 // 第二个矩形
);
参数
lprcDst
[out] 指向RECT结构的指针,该结构接收通过从lprcSrc1指向的矩形减去lprcSrc2指向的矩形而确定的矩形的坐标。
lprcSrc1
[in] 指向函数减去lprcSrc2指向的矩形的RECT结构的指针。
lprcSrc2
[in] 指向该函数从lprcSrc1指向的矩形中减去的RECT结构的指针。
返回值
如果函数成功,返回值为非零。
如果函数失败,返回值为零。
Windows NT/2000/XP: 要获得扩展的错误信息,请调用GetLastError。
备注
当矩形在x方向或y方向完全相交时,该函数仅从由lprcSrc1指定的矩形中减去由lprcSrc2指定的矩形。 例如,如果* lprcSrc1的坐标为(10,10,100,100),* lprcSrc2的坐标为(50,50,150,150),则函数将lprcDst指向的矩形的坐标设置为(10,10,100,100)。 如果* lprcSrc1具有坐标(10,10,100,100)并且* lprcSrc2具有坐标(50,10,150,150),但是该函数将lprcDst指向的矩形的坐标设置为(10,10,50,100)。
因为应用程序可以为不同目的使用矩形,所以矩形函数不使用明确的度量单位。 相反,所有的矩形坐标和尺寸都以有符号的逻辑值给出。 映射模式和使用矩形的函数决定了度量单位。
要求
Windows NT/2000/XP: 包含在Windows NT 3.5和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.