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


Структура 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. Так как размер(HELPWININFO) включает два TCHARs по определению, их необходимо учитывать в окончательном итоговом объеме. В следующем примере показано правильное вычисление экземпляра 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