Поделиться через


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

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

Синтаксис

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

Параметры отображения окна. Это может быть любое из значений, которые можно указать в параметре 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