IsIconic
IsIconic函数确定指定的窗口是否被最小化(标志性)。
BOOL IsIconic(
HWND hWnd // 窗口句柄
);
参数
返回值
如果窗口是图标,则返回值不为零。
如果该窗口不是标志性的,则返回值为零。
示例代码
有关示例,请参阅绘制最小化窗口。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
IsChild
IsChild函数测试窗口是否是指定父窗口的子窗口或后代窗口。 如果父窗口位于父窗口链中,则子窗口是指定父窗口的直接后代; 父窗口链从原始重叠窗口或弹出窗口导向子窗口。
BOOL IsChild(
HWND hWndParent, // 父窗口句柄
HWND hWnd // 要进行测试的窗口句柄
);
参数
hWndParent
[in] 父窗口句柄。
hWnd
[in] 要进行测试的窗口句柄。
返回值
如果窗口是指定父窗口的子窗口或后代窗口,则返回值不为零。
如果该窗口不是指定父窗口的子窗口或后代窗口,则返回值为零。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
IntersectRect
IntersectRect函数计算两个源矩形的交点,并将交点矩形的坐标放置到目标矩形中。 如果源矩形不相交,则将空矩形(所有坐标均设为零)放入目标矩形。
BOOL IntersectRect(
LPRECT lprcDst, // 相交缓冲区
CONST RECT *lprcSrc1, // 第一个矩形
CONST RECT *lprcSrc2 // 第二个矩形
);
参数
lprcDst
[out] 指向RECT结构的指针,用于接收由lprcSrc1和lprcSrc2参数指向的矩形的交集。 该参数不能为NULL。
lprcSrc1
[in] 指向包含第一个源矩形的RECT结构的指针。
lprcSrc2
[in] 指向包含第二个源矩形的RECT结构的指针。
返回值
如果矩形相交,则返回值不为零。
如果矩形不相交,则返回值为零。
Windows NT/2000/XP: 要获得扩展的错误信息,请调用GetLastError。
备注
因为应用程序可以为不同目的使用矩形,所以矩形函数不使用明确的度量单位。 相反,所有的矩形坐标和尺寸都以有符号的逻辑值给出。 映射模式和使用矩形的函数决定了度量单位。
示例代码
有关示例,请参阅使用矩形。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
InflateRect
InflateRect函数增加或减少指定矩形的宽度和高度。 InflateRect函数将dx单位添加到矩形的左侧和右侧,将dy单位添加到顶部和底部。 dx和dy参数是有符号值; 正值会增加宽度和高度,负值会减小宽度和高度。
BOOL InflateRect(
LPRECT lprc, // 矩形
int dx, // 可以调整宽度
int dy // 可以调整高度
);
参数
lprc
[in/out] 指向RECT结构的指针增加或减小。
dx
[in] 指定增加或减少矩形宽度的数量。 此参数必须为负才能减小宽度。
dy
[in] 指定增加或减少矩形高度的量。 此参数必须是负值才能降低高度。
返回值
如果函数成功,返回值为非零。
如果函数失败,返回值为零。
Windows NT/2000/XP: 要获得扩展的错误信息,请调用GetLastError。
备注
因为应用程序可以为不同目的使用矩形,所以矩形函数不使用明确的度量单位。 相反,所有的矩形坐标和尺寸都以有符号的逻辑值给出。 映射模式和使用矩形的函数决定了度量单位。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.
InvalidateRect
InvalidateRect函数将矩形添加到指定的Windows更新区域。 更新区域表示必须重新绘制的窗口客户区的部分。
BOOL InvalidateRect(
HWND hWnd, // 窗口句柄
CONST RECT* lpRect, // 矩形坐标
BOOL bErase // 擦除状态
);
参数
hWnd
[in] 更新区域已更改的窗口句柄。 如果此参数为NULL,则系统使所有窗口无效并重新绘制,并在函数返回之前将WM_ERASEBKGND和WM_NCPAINT消息发送到窗口过程。
lpRect
[in] 指向包含要添加到更新区域的矩形的客户端坐标的RECT结构的指针。 如果此参数为NULL,则将整个客户区添加到更新区域。
bErase
[in] 指定更新区域内的背景在处理更新区域时是否要擦除。 如果此参数为TRUE,则在调用BeginPaint函数时将清除背景。 如果此参数为FALSE,则背景保持不变。
返回值
如果函数成功,返回值为非零。
如果函数失败,返回值为零。
Windows NT/2000/XP: 要获得扩展的错误信息,请调用GetLastError。
备注
无效区域在更新区域中累积,直到发生下一个WM_PAINT消息时处理该区域,或者直到使用ValidateRect或ValidateRgn函数验证该区域为止。
只要更新区域不是空的,并且该窗口的应用程序队列中没有其他消息,系统就会向窗口发送WM_PAINT消息。
如果更新区域的任何部分的bErase参数为TRUE,则会在整个区域中清除背景,而不仅仅是指定的部分。
示例代码
有关示例,请参阅使客户区失效。
要求
Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。
Windows 95/98/Me: 包含在Windows 95和更高版本中。
头文件: 声明于 Winuser.h; 包含于 Windows.h.
库: 使用 User32.lib.