PSN _ APPLY-Benachrichtigungscode
Wird an jede Seite im Eigenschaftenblatt gesendet, um anzugeben, dass der Benutzer auf die Schaltfläche OK, Schließen oder Übernehmen geklickt hat und möchte, dass alle Änderungen wirksam werden. Dieser Benachrichtigungscode wird in Form einer WM _ NOTIFY-Nachricht gesendet.
PSN_APPLY
lppsn = (LPPSHNOTIFY) lParam;
Parameter
-
lParam
-
Zeiger auf eine PSHNOTIFY-Struktur, die Informationen zum Benachrichtigungscode enthält, einschließlich der ID der Seite.
Rückgabewert
Legen Sie PSNRET NOERROR fest, um anzugeben, dass die an dieser Seite vorgenommenen Änderungen _ gültig sind und angewendet wurden. Wenn auf allen Seiten PSNRET _ NOERROR festgelegt ist, kann das Eigenschaftenblatt zerstört werden. Um anzugeben, dass die an dieser Seite vorgenommenen Änderungen ungültig sind, und um zu verhindern, dass das Eigenschaftenblatt zerstört wird, legen Sie einen der folgenden Rückgabewerte fest:
- PSNRET _ UNGÜLTIG. Das Eigenschaftenblatt wird nicht zerstört, und der Fokus wird auf diese Seite zurückgegeben.
- PSNRET _ INVALID _ NOCHANGEPAGE. Das Eigenschaftenblatt wird nicht zerstört, und der Fokus wird auf die Seite zurückgegeben, die den Fokus hatte, als die Schaltfläche gedrückt wurde.
Zum Festlegen des Rückgabewerts muss die Dialogfeldprozedur für die Seite die SetWindowLong-Funktion mit dem DWL MSGRESULT-Wert aufrufen, und die Dialogfeldprozedur muss _ TRUE zurückgeben.
Bemerkungen
Wenn der Benutzer auf die Schaltfläche OK, Übernehmen oder Schließen klickt, sendet das Eigenschaftenblatt eine PSN _ KILLACTIVE-Benachrichtigung an die aktive Seite und gibt ihm die Möglichkeit, die Änderungen des Benutzers zu überprüfen. Wenn die Änderungen gültig sind, sendet das Eigenschaftenblatt einen PSN APPLY-Benachrichtigungscode an jede Seite und leitet ihn an, die neuen Eigenschaften auf das entsprechende _ Element anzuwenden.
Hinweis
Das Eigenschaftenblatt wird die Liste der Seiten bearbeiten, wenn der PSN _ APPLY-Benachrichtigungscode gesendet wird. Versuchen Sie nicht, Seiten hinzuzufügen, zu entfernen oder hinzuzufügen, während Sie diese Benachrichtigung behandeln. Dies führt zu unvorhersehbaren Ergebnissen.
Das lParam-Member der PSHNOTIFY-Struktur, auf das lParam zeigt, wird auf TRUE festgelegt, wenn der Benutzer auf die Schaltfläche OK klickt. Sie ist auch auf TRUE festgelegt, wenn die PSM _ CANCELTOCLOSE-Nachricht gesendet wurde und der Benutzer auf die Schaltfläche Schließen klickt. Sie wird auf FALSE festgelegt, wenn der Benutzer auf die Schaltfläche Anwenden klickt.
Die PSHNOTIFY-Struktur enthält eine NMHDR-Struktur als ersten Member, hdr. Der hwndFrom-Member dieser NMHDR-Struktur enthält das Handle für das Eigenschaftenblatt.
Rufen Sie die EndDialog-Funktion nicht auf, wenn Sie diesen Benachrichtigungscode verarbeiten.
Ein modales Eigenschaftenblatt wird zerstört, wenn der Benutzer auf die Schaltfläche OK klickt und jede Seite den PSNRET NOERROR-Wert als Antwort auf _ PSN _ APPLY zurückgibt. Wenn eine Seite PSNRET _ INVALID oder PSNRET INVALID NOCHANGEPAGE zurückgibt, wird der _ _ Apply-Prozess sofort abgebrochen. Seiten nach der Abbrichtseite erhalten keinen PSN _ APPLY-Benachrichtigungscode.
Um diesen Benachrichtigungscode zu erhalten, muss eine Seite den DWL MSGRESULT-Wert als Reaktion auf den _ PSN KILLACTIVE-Benachrichtigungscode _ auf FALSE festlegen.
Hinweis
Dieser Benachrichtigungscode wird nicht unterstützt, wenn der Stil des Assistenten von Assistenten verwendet wird (_ PSHWIZARD).
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows Nur [ Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Nur Server [ 2003-Desktop-Apps] |
| Header |
|