Поделиться через


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

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

Синтаксис

INT_PTR PropertySheetA(
  LPCPROPSHEETHEADERA unnamedParam1
);

Параметры

unnamedParam1

Тип: LPCPROPSHEETHEADER

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

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

Тип: INT_PTR

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

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

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

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

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

Замечания

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

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

Примечание Следующие примечания относятся только к мастерам, которые не используют стиль мастера (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 [только классические приложения]
целевая платформа Виндоус
заголовка prsht.h
библиотеки Comctl32.lib
DLL Comctl32.dll
набор API ext-ms-win-shell-comctl32-window-l1-1-0 (представлено в Windows 10 версии 10.0.14393)