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 帮助将显示器划分为 1024 个单位,在 X 和 Y 方向。 例如,若要创建填充显示左上角象限的辅助窗口,应用程序将为 xy 成员指定零,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