IsWindowVisible-检索指定窗口的可见性状态

平台 SDK: Windows 用户接口

IsWindowVisible

IsWindowVisible函数检索指定窗口的可见性状态。

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

参数

  • hWnd

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

返回值

如果指定窗口,其父窗口,其父窗口等具有WS_VISIBLE样式,则返回值为非零值。 否则,返回值为零。

由于返回值指定窗口是否具有WS_VISIBLE样式,因此即使该窗口完全被其他窗口遮挡,该窗口也可能不为零。

备注

窗口的可见性状态由WS_VISIBLE样式位指示。 当设置WS_VISIBLE时,只要窗口具有WS_VISIBLE样式,就会显示窗口并显示后续绘制。

如果窗口被其他窗口遮挡或被父窗口剪切,则不会显示具有WS_VISIBLE样式的窗口。

要求

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

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

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


IsWindowUnicode-确定指定的窗口是否是本机Unicode窗口

平台 SDK: Windows 用户接口

IsWindowUnicode

IsWindowUnicode函数确定指定的窗口是否是本机Unicode窗口。

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

参数

  • hWnd

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

返回值

如果该窗口是本地Unicode窗口,则返回值不为零。

如果该窗口不是本地Unicode窗口,则返回值为零。 该窗口是一个本地ANSI窗口。

Windows 95/98/Me: 在用于Unicode的Microsoft层下,如果hWnd属于由函数创建的窗口,则返回值为非零(TRUE),例如由Microsoft层为Unicode支持的CreateWindowExW。 但是,如果CreateWindowExA创建窗口,它将返回零(FALSE)。

备注

窗口的字符集由使用RegisterClass函数确定。 如果窗口类是使用ANSI版本的RegisterClass(RegisterClassA)注册的,则窗口的字符集为ANSI。 如果窗口类是使用Unicode版本的RegisterClass(RegisterClassW)注册的,则窗口的字符集是Unicode。

系统为窗口消息执行自动双向转换(Unicode到ANSI)。 例如,如果ANSI窗口消息发送到使用Unicode字符集的窗口,则系统会在调用窗口过程之前将该消息转换为Unicode消息。 系统调用IsWindowUnicode来确定是否转换消息。

Windows 95/98/Me: 用于Unicode的Microsoft层支持IsWindowUnicode。 要使用它,必须将某些文件添加到应用程序中,如Windows 95/98 / Me系统上的Microsoft Layer for Unicode所述。

要求

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

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

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


IsWindowEnabled-确定是否为鼠标和键盘输入启用了指定的窗口

平台 SDK: Windows 用户接口

IsWindowEnabled

IsWindowEnabled函数确定是否为鼠标和键盘输入启用了指定的窗口。

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

参数

  • hWnd

  • [in] Handle to the window to test.

返回值

如果该窗口已启用,则返回值不为零。

如果该窗口未启用,则返回值为零。

备注

子窗口只有在启用和可见的情况下才会接收输入。

要求

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

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

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


IsWindow-确定指定的窗口句柄是否标识现有的窗口

平台 SDK: Windows 用户接口

IsWindow

IsWindow函数确定指定的窗口句柄是否标识现有的窗口。

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

参数

  • hWnd

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

返回值

如果窗口句柄标识一个现有的窗口,则返回值不为零。

如果窗口句柄不能识别现有窗口,则返回值为零。

备注

应用程序不应该使用IsWindow创建它不创建的窗口,因为在调用此函数后窗口可能会被销毁。 此外,因为窗口句柄被回收,句柄甚至可以指向不同的窗口。

示例代码

有关示例,请参阅创建无模式对话框。

要求

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

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

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


IsRectEmpty-确定指定的矩形是否为空

平台 SDK: Windows GDI

IsRectEmpty

IsRectEmpty函数确定指定的矩形是否为空。 空矩形是没有区域的矩形; 即右侧的坐标小于或等于左侧的坐标,或者下侧的坐标小于或等于上侧的坐标。

BOOL IsRectEmpty(
  CONST RECT *lprc   // 矩形
);

参数

  • lprc

  • [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.