Condividi tramite


PSN_APPLY codice di notifica

Inviato a ogni pagina del foglio delle proprietà per indicare che l'utente ha fatto clic sul pulsante OK, Chiudi o Applica e vuole che tutte le modifiche vengano applicate. Questo codice di notifica viene inviato sotto forma di messaggio di WM_NOTIFY .

PSN_APPLY 

    lppsn = (LPPSHNOTIFY) lParam; 

Parametri

lParam

Puntatore a una struttura PSHNOTIFY che contiene informazioni sul codice di notifica, incluso l'ID della pagina.

Valore restituito

Impostare PSNRET_NOERROR per indicare che le modifiche apportate a questa pagina sono valide e sono state applicate. Se tutte le pagine impostate PSNRET_NOERROR, il foglio delle proprietà può essere eliminato. Per indicare che le modifiche apportate a questa pagina non sono valide e per impedire l'eliminazione del foglio delle proprietà, impostare uno dei valori restituiti seguenti:

  • PSNRET_INVALID. Il foglio delle proprietà non verrà eliminato e lo stato attivo verrà restituito a questa pagina.
  • PSNRET_INVALID_NOCHANGEPAGE. Il foglio delle proprietà non verrà eliminato e lo stato attivo verrà restituito alla pagina che aveva lo stato attivo quando è stato premuto il pulsante.

Per impostare il valore restituito, la procedura della finestra di dialogo per la pagina deve chiamare la funzione SetWindowLong con il valore DWL_MSGRESULT e la procedura della finestra di dialogo deve restituire TRUE.

Commenti

Quando l'utente fa clic sul pulsante OK, Applica o Chiudi, il foglio delle proprietà invia una notifica PSN_KILLACTIVE alla pagina attiva, consentendogli di convalidare le modifiche dell'utente. Se le modifiche sono valide, il foglio delle proprietà invia un codice di notifica PSN_APPLY a ogni pagina, indirizzandolo per applicare le nuove proprietà all'elemento corrispondente.

Nota

Il foglio delle proprietà è in fase di modifica dell'elenco di pagine quando viene inviato il codice di notifica PSN_APPLY. Non tentare di aggiungere, rimuovere o inserire pagine durante la gestione di questa notifica. In questo modo si avranno risultati imprevedibili.

Il membro lParam della struttura PSHNOTIFY a cui punta lParam è impostato su TRUE se l'utente fa clic sul pulsante OK. È anche impostato su TRUE se il messaggio PSM_CANCELTOCLOSE è stato inviato e l'utente fa clic sul pulsante Chiudi. È impostato su FALSE se l'utente fa clic sul pulsante Applica.

La struttura PSHNOTIFY contiene una struttura NMHDR come primo membro, hdr. Il membro hwndFrom di questa struttura NMHDR contiene l'handle nel foglio delle proprietà.

Non chiamare la funzione EndDialog durante l'elaborazione del codice di notifica.

Un foglio delle proprietà modale viene eliminato se l'utente fa clic sul pulsante OK e ogni pagina restituisce il valore di PSNRET_NOERROR in risposta alla PSN_APPLY. Se una pagina restituisce PSNRET_INVALID o PSNRET_INVALID_NOCHANGEPAGE, il processo Applica viene annullato immediatamente. Le pagine dopo l'annullamento della pagina non riceveranno un codice di notifica PSN_APPLY.

Per ricevere questo codice di notifica, una pagina deve impostare il valore DWL_MSGRESULT su FALSE in risposta al codice di notifica PSN_KILLACTIVE .

Nota

Questo codice di notifica non è supportato quando si usa lo stile della procedura guidata Aero (PSH_AEROWIZARD).

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Intestazione
Prsht.h