Структура HELPWININFOA (winuser.h)
Содержит размер и положение первичного или дополнительного окна справки. Приложение может задать эти сведения, вызвав функцию 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
Параметры отображения окна. Это может быть любое из значений, которые можно указать в параметре 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 |