Функция PropertySheetW (prsht.h)

Создает лист свойств и добавляет страницы, определенные в указанной структуре заголовка листа свойств.

Синтаксис

INT_PTR PropertySheetW(
  LPCPROPSHEETHEADERW unnamedParam1
);

Параметры

unnamedParam1

Тип: LPCPROPSHEETHEADER

Указатель на структуру PROPSHEETHEADER , которая определяет рамку и страницы листа свойств.

Возвращаемое значение

Тип: INT_PTR

Для модальных таблиц свойств возвращаемое значение выглядит следующим образом:

>=1 Изменения были сохранены пользователем.
0 Пользователь не сохранил никаких изменений.
-1 Произошла ошибка.
 

Для листов свойств без режима возвращаемым значением является дескриптор окна листа свойств.

Следующие возвращаемые значения имеют особое значение.

Код возврата Описание
ID_PSREBOOTSYSTEM
Страница отправила сообщение PSM_REBOOTSYSTEM на страницу свойств. Чтобы изменения, внесенные пользователем, вступили в силу, необходимо перезагрузить компьютер.
ID_PSRESTARTWINDOWS
Страница отправила сообщение PSM_RESTARTWINDOWS на страницу свойств. Чтобы изменения, внесенные пользователем, вступили в силу, необходимо перезапустить Windows.

Комментарии

Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

При попытке добавить на лист свойств более 99 страниц эта функция завершится ошибкой, но без указания причины ошибки: PropertySheet возвращает значение -1, а GetLastError — 0.

Примечание Следующие замечания относятся только к мастерам, которые не используют стиль мастера Aero (PSH_AEROWIZARD) или таблицы свойств, не относящиеся к мастеру.
 
По умолчанию функция PropertySheet создает модальное диалоговое окно. Если элемент dwFlags структуры PROPSHEETHEADER указывает флаг PSH_MODELESS, PropertySheet создает немодерное диалоговое окно и возвращается сразу после его создания. В этом случае возвращаемое значение PropertySheet — это дескриптор окна для немодерного диалогового окна.

Для листа свойств без режима цикл сообщений должен использовать PSM_ISDIALOGMESSAGE для передачи сообщений в диалоговое окно страницы свойств. Цикл сообщений должен использовать PSM_GETCURRENTPAGEHWND , чтобы определить, когда следует уничтожить диалоговое окно. Когда пользователь нажимает кнопку ОК или Отмена , PSM_GETCURRENTPAGEHWND возвращает значение NULL. Затем можно использовать функцию DestroyWindow , чтобы уничтожить диалоговое окно.

Версия 5.80. Возвращаемое значение PropertySheet содержит различные сведения для модальных и немодальных таблиц свойств. В некоторых случаях немодальным таблицам свойств может потребоваться информация, которую они получили бы из PropertySheet , если бы они были модальными. В частности, им может потребоваться знать, были ли возвращены ID_PSREBOOTSYSTEM или ID_PSRESTARTWINDOWS. Немодальная страница свойств может получить значение, полученное модальной таблицей свойств из PropertySheet , ожидая, пока PSM_GETCURRENTPAGEHWND не вернет ЗНАЧЕНИЕ NULL , а затем отправляя сообщение PSM_GETRESULT .

Примечание

Заголовок prsht.h определяет PropertySheet как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header prsht.h
Библиотека Comctl32.lib
DLL Comctl32.dll
Набор API ext-ms-win-shell-comctl32-window-l1-1-0 (появилось в Windows 10 версии 10.0.14393)