Partager via


code de notification PSN_APPLY

Envoyé à chaque page de la feuille de propriétés pour indiquer que l’utilisateur a cliqué sur le bouton OK, Fermer ou Appliquer et souhaite que toutes les modifications prennent effet. Ce code de notification est envoyé sous la forme d’un message WM_NOTIFY .

PSN_APPLY 

    lppsn = (LPPSHNOTIFY) lParam; 

Paramètres

lParam

Pointeur vers une structure PSHNOTIFY qui contient des informations sur le code de notification, y compris l’ID de la page.

Valeur retournée

Définissez PSNRET_NOERROR pour indiquer que les modifications apportées à cette page sont valides et ont été appliquées. Si toutes les pages sont définies PSNRET_NOERROR, la feuille de propriétés peut être détruite. Pour indiquer que les modifications apportées à cette page ne sont pas valides et pour empêcher la destruction de la feuille de propriétés, définissez l’une des valeurs de retour suivantes :

  • PSNRET_INVALID. La feuille de propriétés ne sera pas détruite et le focus sera retourné à cette page.
  • PSNRET_INVALID_NOCHANGEPAGE. La feuille de propriétés ne sera pas détruite et le focus sera retourné à la page qui avait le focus lorsque le bouton a été appuyé.

Pour définir la valeur de retour, la procédure de boîte de dialogue de la page doit appeler la fonction SetWindowLong avec la valeur DWL_MSGRESULT, et la procédure de boîte de dialogue doit retourner TRUE.

Notes

Lorsque l’utilisateur clique sur le bouton OK, Appliquer ou Fermer, la feuille de propriétés envoie une notification PSN_KILLACTIVE à la page active, ce qui lui donne la possibilité de valider les modifications apportées par l’utilisateur. Si les modifications sont valides, la feuille de propriétés envoie un code de notification PSN_APPLY à chaque page, en lui indiquant d’appliquer les nouvelles propriétés à l’élément correspondant.

Notes

La feuille de propriétés est en cours de manipulation de la liste des pages lorsque le code de notification PSN_APPLY est envoyé. N’essayez pas d’ajouter, de supprimer ou d’insérer des pages lors de la gestion de cette notification. Cela aura des résultats imprévisibles.

Le membre lParam de la structure PSHNOTIFY pointée vers lParam est défini sur TRUE si l’utilisateur clique sur le bouton OK. Il est également défini sur TRUE si le message PSM_CANCELTOCLOSE a été envoyé et que l’utilisateur clique sur le bouton Fermer. Il est défini sur FALSE si l’utilisateur clique sur le bouton Appliquer.

La structure PSHNOTIFY contient une structure NMHDR en tant que premier membre, hdr. Le membre hwndFrom de cette structure NMHDR contient le handle de la feuille de propriétés.

N’appelez pas la fonction EndDialog lors du traitement de ce code de notification.

Une feuille de propriétés modale est détruite si l’utilisateur clique sur le bouton OK et que chaque page retourne la valeur PSNRET_NOERROR en réponse à PSN_APPLY. Si une page retourne PSNRET_INVALID ou PSNRET_INVALID_NOCHANGEPAGE, le processus Appliquer est annulé immédiatement. Les pages qui suivent la page d’annulation ne recevront pas de code de notification PSN_APPLY.

Pour recevoir ce code de notification, une page doit définir la valeur false DWL_MSGRESULT en réponse au code de notification PSN_KILLACTIVE .

Notes

Ce code de notification n’est pas pris en charge lors de l’utilisation du style de l’Assistant Aero (PSH_AEROWIZARD).

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Prsht.h