Структура PROPSHEETHEADER
Определяет рамку и страницы страницы страницы свойств.
Синтаксис
typedef struct {
DWORD dwSize;
DWORD dwFlags;
HWND hwndParent;
HINSTANCE hInstance;
union {
HICON hIcon;
LPCTSTR pszIcon;
};
LPCTSTR pszCaption;
UINT nPages;
union {
UINT nStartPage;
LPCTSTR pStartPage;
};
union {
LPCPROPSHEETPAGE ppsp;
HPROPSHEETPAGE *phpage;
};
PFNPROPSHEETCALLBACK pfnCallback;
union {
HBITMAP hbmWatermark;
LPCTSTR pszbmWatermark;
};
HPALETTE hplWatermark;
union {
HBITMAP hbmHeader;
LPCSTR pszbmHeader;
};
} PROPSHEETHEADER, *LPPROPSHEETHEADER;
Члены
dwSize
Тип: DWORD
Размер этой структуры в байтах. Диспетчер страниц свойств использует этот элемент для определения используемой версии структуры PROPSHEETHEADER . Дополнительные сведения см. в разделе «Примечания».
dwFlags
Тип: DWORD
Флаги, указывающее, какие параметры использовать при создании страницы страницы свойств. Этот элемент может быть сочетанием следующих значений.
Значение | Значение |
---|---|
PSH_DEFAULT (0x00000000) | Использует значение по умолчанию для всех элементов структуры и создает обычный лист свойств. Этот флаг имеет нулевое значение и не сочетается с другими флагами. |
PSH_AEROWIZARD (0x00004000) | Версия 6.00 и более поздняя. Создает страницу свойств мастера, в котором используется стиль Aero. Также необходимо задать флаг PSH_WIZARD. Необходимо использовать модель однопотокового подразделения (STA). |
PSH_HASHELP (0x00000200) | Разрешает отображение на страницах страниц свойств кнопки "Справка ". При создании страницы необходимо также задать флаг PSP_HASHELP в структуре PROPSHEETPAGE страницы. Если на любой из начальных страниц страниц свойств включена кнопка Справка , PSH_HASHELP будет задано автоматически. Если ни одна из начальных страниц не включает кнопку Справка , необходимо явно задать PSH_HASHELP, если вы хотите, чтобы кнопки справки были добавлены на страницах, которые могут быть добавлены позже. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_HEADER (0x00080000) | Версия 5.80 и более поздняя. Указывает, что растровое изображение заголовка будет использоваться с мастером Wizard97. Также необходимо задать флаг PSH_WIZARD97. Если установлен флаг PSH_USEHBMHEADER, то растровое изображение заголовка получается из элемента hbmHeader . В противном случае растровое изображение заголовка получается из элемента pszbmHeader . Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_HEADERBITMAP (0x08000000) | Версия 6.00 и более поздняя. Элемент pszbmHeader задает растровое изображение, отображаемое в области заголовка. Должен использоваться в сочетании с PSH_AEROWIZARD. |
PSH_MODELESS (0x00000400) | Заставляет функцию PropertySheet создавать страницу свойств как немодальное диалоговое окно, а не как модальное диалоговое окно. Если этот флаг установлен, PropertySheet возвращается сразу после создания диалогового окна, а возвращаемое значение из PropertySheet является дескриптором окна для диалогового окна страницы свойств. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_NOAPPLYNOW (0x00000080) | Удаляет кнопку Применить . Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_NOCONTEXTHELP (0x02000000) | Версия 5.80 и более поздняя. Удаляет контекстную кнопку справки ("?"), которая обычно присутствует на подпись панели страниц свойств. Этот флаг недопустим для мастеров. Сведения о том, как удалить кнопку справки подпись для более ранних версий общих элементов управления, см. в разделе Сведения о таблицах свойств. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_NOMARGIN (0x10000000) | Версия 6.00 или более поздняя. Указывает, что между страницей и рамкой не вставляется поле. Должен использоваться в сочетании с PSH_AEROWIZARD. |
PSH_PROPSHEETPAGE (0x00000008) | Использует элемент ppsp и игнорирует элемент phpage при создании страниц для страницы страницы свойств. |
PSH_PROPTITLE (0x00000001) | Указывает, что pszCaption — это имя объекта, для которого отображаются свойства. Windows корректирует подпись в зависимости от версии и языка. Например, на английском языке фраза "Свойства для" добавляется к непустой pszCaption (и если pszCaption создает пустой подпись, то заголовок будет просто "Свойства"). Если этот флаг опущен, то pszCaption используется без корректировок. |
PSH_RESIZABLE (0x04000000) | Позволяет пользователю изменять размер мастера. Кнопки "Развернуть" и "Свернуть" отображаются в кадре мастера, и размер кадра может быть достаточно. Чтобы использовать этот флаг, необходимо также задать PSH_AEROWIZARD. |
PSH_RTLREADING (0x00000800) | Задает для страницы свойств или окна мастера порядок чтения справа налево (RTL), подходящий для таких языков, как иврит и арабский. Если этот флаг не указан, окна страниц свойств по умолчанию соответствуют порядку чтения слева направо (LTR), а окна мастера соответствуют порядку чтения текущей страницы. |
PSH_STRETCHWATERMARK (0x00040000) | Растягивает предел в мастерах в стиле Wizard97. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. Этот флаг стиля включен только для обеспечения обратной совместимости для определенных приложений. Его использование не рекомендуется и поддерживается только общими элементами управления версий 4.0 и 4.01. В общих элементах управления версии 5.80 и более поздних этот флаг игнорируется. |
PSH_USECALLBACK (0x00000100) | Вызывает функцию, заданную параметром pfnCallback , при возникновении определенных событий. Дополнительные сведения см. в описании функции обратного вызова PFNPROPSHEETCALLBACK . |
PSH_USEHBMHEADER (0x00100000) | Версия 5.80. Получает растровое изображение заголовка из элемента hbmHeader , а не из элемента pszbmHeader . Необходимо также установить флаг PSH_AEROWIZARD или флаг PSH_WIZARD97 вместе с флагом PSH_HEADER. |
PSH_USEHBMWATERMARK (0x00010000) | Версия 5.80. Получает растровое изображение водяного знака из элемента hbmWatermark вместо элемента pszbmWatermark . Необходимо также задать PSH_WIZARD97 и PSH_WATERMARK. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_USEHICON (0x00000002) | Использует hIcon в качестве небольшого значка в строке заголовка диалогового окна страницы свойств. |
PSH_USEHPLWATERMARK (0x00020000) | Версия 5.80. Использует структуру HPALETTE , на которую указывает элемент hplWatermark , а не палитру по умолчанию для рисования растрового изображения водяного знака и/или растрового изображения заголовка для мастера Wizard97. Также необходимо задать PSH_WIZARD97 и PSH_WATERMARK или PSH_HEADER. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_USEICONID (0x00000004) | Использует pszIcon в качестве имени ресурса значка для загрузки и использования в качестве небольшого значка в строке заголовка диалогового окна страницы свойств. |
PSH_USEPAGELANG (0x00200000) | Версия 5.80. Указывает, что язык для страницы свойств будет взят из ресурса первой страницы. Эта страница должна быть указана с помощью идентификатора ресурса. |
PSH_USEPSTARTPAGE (0x00000040) | Использует элемент pStartPage вместо элемента nStartPage при отображении начальной страницы страницы свойств. |
PSH_WATERMARK (0x00008000) | Версия 5.80. Указывает, что растровое изображение подложки будет использоваться с мастером Wizard97 на страницах со стилем PSP_HIDEHEADER. Кроме того, необходимо задать флаг PSH_WIZARD97. Растровое изображение водяного знака получается из элемента pszbmWatermark , если не задано PSH_USEHBMWATERMARK. В этом случае растровое изображение заголовка получается из элемента hbmWatermark . Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_WIZARD (0x00000020) | Создает страницу свойств мастера. При использовании PSH_AEROWIZARD необходимо также установить этот флаг. |
PSH_WIZARD97 (0x01000000) | Версия 5.80. Создает таблицу свойств в стиле Wizard97, которая поддерживает растровые изображения в заголовке внутренних страниц и в левой части внешних страниц. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_WIZARDCONTEXTHELP (0x00001000) | Добавляет контекстную кнопку справки ("?"), которая обычно отсутствует на панели подпись мастера. Этот флаг недопустим для обычных листов свойств. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
PSH_WIZARDHASFINISH (0x00000010) | Всегда отображает кнопку Готово в мастере. Также необходимо задать PSH_WIZARD, PSH_WIZARD97 или PSH_AEROWIZARD. |
PSH_WIZARD_LITE (0x00400000) | Версия 5.80. Использует стиль Wizard-lite. Этот стиль по внешнему виду похож на PSH_WIZARD97, но реализован так же, как PSH_WIZARD. Существует несколько ограничений на форматирование страниц. Например, нет принудительных границ, а стиль PSH_WIZARD_LITE не закрашивает точечные рисунки подложки и заголовка, как это делает Wizard97. Этот флаг не поддерживается в сочетании с PSH_AEROWIZARD. |
hwndParent
Тип: HWND
Обработка окна владельца страницы свойств.
hInstance
Тип: HINSTANCE
Дескриптор для экземпляра, из которого загружается значок, ресурс строки заголовка, имя начальной страницы, растровое изображение заголовка или водяной знак. Если элемент pszIcon, pszCaption, pStartPage, pszbmHeader или pszbmWatermark определяет ресурс для загрузки, этот член необходимо указать.
hIcon
Тип: HICON
Обработка значка для использования в качестве небольшого значка в строке заголовка диалогового окна страницы свойств. Этот элемент используется, если элемент dwFlags включает PSH_USEHICON. Этот член объявлен как союз с pszIcon.
pszIcon
Тип: LPCTSTR
Ресурс значка, используемый в качестве небольшого значка в строке заголовка диалогового окна страницы свойств. Этот элемент используется, если элемент dwFlags включает PSH_USEICONID. Этот член может указать идентификатор ресурса значка или адрес строки, указывающей имя ресурса значка. В обоих случаях значок загружается из экземпляра, предоставленного элементом hInstance . Этот член объявляется как союз с hIcon.
pszCaption
Тип: LPCTSTR
Заголовок диалогового окна страницы свойств. Этот член может указать либо идентификатор строкового ресурса (загруженного из экземпляра, указанного элементом hInstance ), либо адрес строки, указывающей заголовок. Если элемент dwFlags содержит PSH_PROPTITLE, строка Свойства для вставляется в начале заголовка. Это поле игнорируется для мастеров Wizard97. Для мастеров Aero для подпись используется только строка, независимо от того, установлен ли флаг PSH_PROPTITLE.
nPages
Тип: UINT
Количество страниц страниц свойств, предоставленных в массиве ppsp или phpage .
nStartPage
Тип: UINT
Отсчитываемый от нуля индекс начальной страницы, который появляется при создании диалогового окна страницы свойств. Этот элемент используется, если элемент dwFlags не содержит флаг PSH_USEPSTARTPAGE. Этот элемент объявляется как объединение с pStartPage.
pStartPage
Тип: LPCTSTR
Имя начальной страницы, которая появляется при создании диалогового окна страницы свойств. Этот элемент используется, если элемент dwFlags содержит флаг PSH_USESTARTPAGE. Этот член может указать либо идентификатор строкового ресурса (загруженного из экземпляра, указанного элементом hInstance ), либо адрес строки, указывающей имя. Имя начальной страницы сопоставляется с заголовками страниц. Этот член объявляется как объединение с nStartPage.
ppsp
Тип: LPCPROPSHEETPAGE
Указатель на массив структур PROPSHEETPAGE , определяющих страницы на листе свойств. Если элемент dwFlags не содержит PSH_PROPSHEETPAGE, этот элемент игнорируется. Обратите внимание, что структура PROPSHEETPAGE имеет переменный размер. Приложения, которые анализирует массив, на который указывает ppsp, должны учитывать размер каждой страницы. Этот элемент объявляется как объединение с phpage.
phpage
Тип: HPROPSHEETPAGE*
Указатель на массив дескрипторов на страницы страниц свойств. Этот элемент используется, если член dwFlags не содержит PSH_PROPSHEETPAGE. Каждый дескриптор должен быть создан предыдущим вызовом функции CreatePropertySheetPage . При возврате функции PropertySheet все дескрипторы HPROPSHEETPAGE в массиве phpage будут уничтожены. Этот член объявляется как объединение с ppsp.
pfnCallback
Тип: PFNPROPSHEETCALLBACK
Указатель на функцию обратного вызова, определяемую приложением, которая вызывается при возникновении определенных событий. Дополнительные сведения о функции обратного вызова см. в описании функции обратного вызова PFNPROPSHEETCALLBACK . Если элемент dwFlags не содержит PSH_USECALLBACK, этот элемент игнорируется.
hbmWatermark
Тип: HBITMAP
Версия 5.80 или более поздняя. Дескриптор подложки. Если элемент dwFlags не содержит PSH_USEHBMWATERMARK, этот элемент игнорируется.
pszbmWatermark
Тип: LPCTSTR
Версия 5.80 или более поздняя. Ресурс растрового рисунка для использования в качестве водяного знака. Этот член может указать либо идентификатор ресурса растрового изображения, либо адрес строки, указывающей имя ресурса растрового рисунка. Если элемент dwFlags включает PSH_USEHBMWATERMARK, этот элемент игнорируется.
hplWatermark
Тип: HPALETTE
Версия 5.80 или более поздняя. Структура HPALETTE, используемая для рисования растрового рисунка подложки и (или) растрового изображения заголовка. Если элемент dwFlags не содержит PSH_USEHPLWATERMARK, этот элемент игнорируется.
hbmHeader
Тип: HBITMAP
Версия 5.80 или более поздняя. Дескриптор к растровой диаграмме заголовка. Если элемент dwFlags не содержит PSH_USEHBMHEADER, этот элемент игнорируется.
pszbmHeader
Тип: LPCSTR
Версия 5.80 или более поздняя. Ресурс растрового изображения, используемый в качестве заголовка. Этот член может указать либо идентификатор ресурса растрового изображения, либо адрес строки, указывающей имя ресурса растрового рисунка. Если элемент dwFlags включает PSH_USEHBMHEADER, этот элемент игнорируется.
Комментарии
Если пользователь выбирает параметр, например Крупные шрифты, который увеличивает диалоговое окно, подложка, нарисованная на начальной и готовой страницах, также будет увеличена. Размер и положение исходного растрового изображения останутся прежними. Дополнительная область будет заполнена цветом пикселя в левом верхнем углу растрового изображения.
Стили PSH_WIZARD, PSH_WIZARD97 и PSH_WIZARD_LITE несовместимы друг с другом. Следует установить только один из этих флагов стиля. PSH_AEROWIZARD следует сочетать с PSH_WIZARD.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Заголовок | Prsht.h |
Имя в кодировке Юникод и ANSI | PROPSHEETHEADERW (Юникод) и PROPSHEETHEADERA (ANSI) |