Структура 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 |