Структура HELPWININFOW (winuser.h)

Содержит размер и положение основного или дополнительного окна справки. Приложение может задать эти сведения, вызвав функцию WinHelp со значением HELP_SETWINPOS.

Синтаксис

typedef struct tagHELPWININFOW {
  int   wStructSize;
  int   x;
  int   y;
  int   dx;
  int   dy;
  int   wMax;
  WCHAR rgchMember[2];
} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;

Члены

wStructSize

Тип: int

Размер этой структуры в байтах.

x

Тип: int

Координата по оси X левого верхнего угла окна в экранных координатах.

y

Тип: int

Координата Y левого верхнего угла окна в экранных координатах.

dx

Тип: int

Ширина окна в пикселях.

dy

Тип: int

Высота окна в пикселях.

wMax

Тип: int

Параметры отображения окна. Это может быть любое из значений, которые можно указать в параметре nCmdShow для функции ShowWindow .

rgchMember[2]

Тип: TCHAR[2]

Имя окна.

Комментарии

Справка Windows делит дисплей на 1024 единицы в направлениях X и Y. Например, чтобы создать дополнительное окно, заполняющее верхний левый квадрант дисплея, приложение укажет ноль для элементов x и y и 512 для элементов dx и dy .

Чтобы правильно вычислить 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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winuser.h