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


код уведомления PSN_APPLY

Отправляется на каждую страницу на странице свойств, чтобы указать, что пользователь нажал кнопки ОК, Закрыть или Применить и хочет, чтобы все изменения вступили в силу. Этот код уведомления отправляется в виде сообщения WM_NOTIFY .

PSN_APPLY 

    lppsn = (LPPSHNOTIFY) lParam; 

Параметры

lParam

Указатель на структуру PSHNOTIFY , содержащую сведения о коде уведомления, включая идентификатор страницы.

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

Задайте PSNRET_NOERROR, чтобы указать, что изменения, внесенные на этой странице, являются допустимыми и применены. Если все страницы задают PSNRET_NOERROR, лист свойств может быть уничтожен. Чтобы указать, что изменения, внесенные на эту страницу, являются недопустимыми и предотвратить уничтожение страницы свойств, задайте одно из следующих возвращаемых значений:

  • PSNRET_INVALID. Страница свойств не будет уничтожена, и фокус будет возвращен на эту страницу.
  • PSNRET_INVALID_NOCHANGEPAGE. Лист свойств не будет уничтожен, а фокус будет возвращен на страницу, на которой был фокус при нажатии кнопки.

Чтобы задать возвращаемое значение, процедура диалогового окна для страницы должна вызвать функцию SetWindowLong со значением DWL_MSGRESULT, а процедура диалогового окна должна возвращать значение TRUE.

Комментарии

Когда пользователь нажимает кнопки ОК, Применить или Закрыть, страница свойств отправляет PSN_KILLACTIVE уведомление на активную страницу, предоставляя ей возможность проверить изменения пользователя. Если изменения действительны, страница свойств отправляет код уведомления PSN_APPLY на каждую страницу, направляя его на применение новых свойств к соответствующему элементу.

Примечание

Лист свойств находится в процессе управления списком страниц при отправке кода уведомления PSN_APPLY. Не пытайтесь добавлять, удалять и вставлять страницы при обработке этого уведомления. Это приведет к непредсказуемым результатам.

Элемент lParam структуры PSHNOTIFY , на который указывает lParam , имеет значение TRUE , если пользователь нажимает кнопку ОК. Если сообщение PSM_CANCELTOCLOSE отправлено, а пользователь нажимает кнопку Закрыть, также устанавливается значение TRUE. Если пользователь нажимает кнопку Применить, ему присваивается значение FALSE .

Структура PSHNOTIFY содержит структуру NMHDR в качестве первого члена hdr. Элемент hwndFrom этой структуры NMHDR содержит дескриптор страницы свойств.

Не вызывайте функцию EndDialog при обработке этого кода уведомления.

Модальная страница свойств удаляется, если пользователь нажимает кнопку ОК и каждая страница возвращает значение PSNRET_NOERROR в ответ на PSN_APPLY. Если какая-либо страница возвращает PSNRET_INVALID или PSNRET_INVALID_NOCHANGEPAGE, процесс Применения немедленно отменяется. Страницы после отмены страницы не будут получать код уведомления PSN_APPLY.

Чтобы получить этот код уведомления, страница должна задать для DWL_MSGRESULT значение FALSE в ответ на код уведомления PSN_KILLACTIVE .

Примечание

Этот код уведомления не поддерживается при использовании стиля мастера Aero (PSH_AEROWIZARD).

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Заголовок
Prsht.h