IsIconic-确定指定的窗口是否被最小化(标志性)

平台 SDK: Windows 用户接口

IsIconic

IsIconic函数确定指定的窗口是否被最小化(标志性)。

BOOL IsIconic(
  HWND hWnd   // 窗口句柄
);

参数

  • hWnd

  • [in] 要进行测试的窗口句柄。

返回值

如果窗口是图标,则返回值不为零。

如果该窗口不是标志性的,则返回值为零。

示例代码

有关示例,请参阅绘制最小化窗口。

要求

  Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。

  Windows 95/98/Me: 包含在Windows 95和更高版本中。

  头文件: 声明于 Winuser.h; 包含于 Windows.h.
  库: 使用 User32.lib.


IsChild-测试窗口是否是指定父窗口的子窗口或后代窗口

平台 SDK: Windows 用户接口

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-计算两个源矩形的交点,并将交点矩形的坐标放置到目标矩形中

平台 SDK: Windows GDI

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-增加或减少指定矩形的宽度和高度

平台 SDK: Windows GDI

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-将矩形添加到指定的Windows更新区域

平台 SDK: Windows GDI

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.