HELPWININFOA 结构 (winuser.h)

包含主要或辅助帮助窗口的大小和位置。 应用程序可以通过调用具有 HELP_SETWINPOS 值的 WinHelp 函数来设置此信息。

语法

typedef struct tagHELPWININFOA {
  int  wStructSize;
  int  x;
  int  y;
  int  dx;
  int  dy;
  int  wMax;
  CHAR rgchMember[2];
} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;

成员

wStructSize

类型: int

此结构的大小(以字节为单位)。

x

类型: int

窗口左上角的 X 坐标(以屏幕坐标表示)。

y

类型: int

窗口左上角的 Y 坐标(以屏幕坐标表示)。

dx

类型: int

窗口的宽度(以像素为单位)。

dy

类型: int

窗口的高度(以像素为单位)。

wMax

类型: int

用于显示窗口的选项。 它可以是在 ShowWindow 函数的 nCmdShow 参数中指定的任何值。

rgchMember[2]

类型: TCHAR[2]

窗口的名称。

注解

Windows 帮助将 X 方向和 Y 方向的显示划分为 1024 个单位。 例如,若要创建填充显示左上角象限的辅助窗口,应用程序将为 xy 成员指定 0,为 dxdy 成员指定 512。

若要正确计算 wStructSize ,必须知道要存储在 rgchMember 中的字符串的实际大小。 由于 sizeof (HELPWININFO) 定义包含两 个 TCHAR ,因此必须在最终总计中考虑它们。 以下示例演示 wStructSize 实例的正确计算。

WORD wSize;
TCHAR *szWndName = TEXT("wnd_menu"); 
size_t NameLength;  
HRESULT hr;
HELPWININFO hwi;

// StringCbLength returns the length of the string without 
// the terminating null character.
hr = StringCbLength(szWndName, STRSAFE_MAX_CCH * sizeof(TCHAR), &NameLength);
    
if (SUCCEEDED(hr))
{
    // Add bytes to account for the name string's terminating null character.
    NameLength + sizeof(TCHAR);
    
    // Determine the size of HELPWININFO without the TCHAR array.
    wSize = sizeof(HELPWININFO) - (2 * sizeof(TCHAR));
    
    // Determine the total size of the final HELPWININFO structure.
    hwi.wStructSize = wSize + NameLength;
}

注意

winuser.h 标头将 HELPWININFO 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 winuser.h