Функция обратного вызова PFNPROPSHEETCALLBACK (prsht.h)
Определяемая приложением функция обратного вызова, которую система вызывает при создании и инициализации страницы свойств.
Синтаксис
PFNPROPSHEETCALLBACK Pfnpropsheetcallback;
int Pfnpropsheetcallback(
HWND unnamedParam1,
UINT unnamedParam2,
LPARAM unnamedParam3
)
{...}
Параметры
unnamedParam1
Тип: HWND
Дескриптор страницы свойств. Этот параметр обычно называется hWnd.
unnamedParam2
Тип: UINT
Полученное сообщение. Этот параметр обычно называется uMsg.
Этот параметр является одним из следующих значений.
Значение | Значение | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Указывает, что страница свойств инициализируется. Значение lParam (unnamedParam3) равно нулю для этого сообщения. | ||||||||||
|
Указывает, что страница свойств будет создана. Параметр hWnd (unnamedParam1) имеет значение NULL, а параметр lParam (unnamedParam3) — адрес шаблона диалогового окна в памяти. Этот шаблон имеет форму структуры DLGTEMPLATE или DLGTEMPLATEEX , за которой следует одна или несколько структур DLGITEMTEMPLATE . Это сообщение неприменимо, если используется стиль мастера Aero (PSH_AEROWIZARD). | ||||||||||
|
Версия 6.0 и более поздняя. Указывает, что пользователь нажал кнопку в диалоговом окне страницы свойств. Чтобы включить это, укажите PSH_USECALLBACK в PROPSHEETHEADER.dwFlags и укажите имя этой функции обратного вызова в PROPSHEETHEADER.pfnCallback. Значение lParam (Arg3) является одним из следующих. Обратите внимание, что при использовании стиля мастера Aero (PSH_AEROWIZARD) допустимо только PSBTN_CANCEL.
Обратите внимание, что Comctl32.dll версии 6 и более поздних не распространяются. Чтобы использовать эти версии Comctl32.dll, укажите конкретную версию в манифесте. Дополнительные сведения о манифестах см. в разделе Включение визуальных стилей. |
unnamedParam3
Тип: LPARAM
Дополнительные сведения о сообщении. Этот параметр обычно называется lParam.
Значение этого значения зависит от параметра uMsg (unnamedParam2):
Если uMsg PSCB_INITIALIZED или PSCB_BUTTONPRESSED, значение этого параметра равно нулю.
Если uMsg PSCB_PRECREATE, этот параметр будет указателем на структуру DLGTEMPLATE или DLGTEMPLATEEX , описывающую диалоговое окно страницы свойств. Проверьте сигнатуру структуры, чтобы определить тип. Если сигнатура равна 0xFFFF то структура является расширенным шаблоном диалога, в противном случае структура является стандартным шаблоном диалога. В следующем примере показано, как это сделать.
if (uMsg == PSCB_PRECREATE) { if (lParam) { DLGTEMPLATE *pDlgTemplate; DLGTEMPLATEEX *pDlgTemplateEx; pDlgTemplateEx = (DLGTEMPLATEEX *)lParam; if (pDlgTemplateEx->signature == 0xFFFF) { // pDlgTemplateEx points to an extended // dialog template structure. } else { // This is a standard dialog template // structure. pDlgTemplate = (DLGTEMPLATE *)lParam; } } }
Возвращаемое значение
Тип: int
Возвращает ноль.
Комментарии
Чтобы включить функцию обратного вызова PropSheetProc , используйте структуру PROPSHEETHEADER при вызове функции PropertySheet для создания страницы свойств. Используйте член pfnCallback , чтобы указать адрес функции обратного вызова и установить флаг PSP_USECALLBACK в элементе dwFlags .
PropSheetProc — это заполнитель для имени функции, определяемой приложением. Тип PFNPROPSHEETCALLBACK — это адрес функции обратного вызова PropSheetProc .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | prsht.h |