PSN_APPLY código de notificación
Se envía a todas las páginas de la hoja de propiedades para indicar que el usuario ha hecho clic en el botón Aceptar, Cerrar o Aplicar y desea que todos los cambios surtan efecto. Este código de notificación se envía en forma de mensaje WM_NOTIFY .
PSN_APPLY
lppsn = (LPPSHNOTIFY) lParam;
-
lParam
-
Puntero a una estructura PSHNOTIFY que contiene información sobre el código de notificación, incluido el identificador de la página.
Establezca PSNRET_NOERROR para indicar que los cambios realizados en esta página son válidos y se han aplicado. Si todas las páginas establecidas PSNRET_NOERROR, la hoja de propiedades se puede destruir. Para indicar que los cambios realizados en esta página no son válidos y para evitar que se destruya la hoja de propiedades, establezca uno de los siguientes valores devueltos:
- PSNRET_INVALID. La hoja de propiedades no se destruirá y el foco se devolverá a esta página.
- PSNRET_INVALID_NOCHANGEPAGE. La hoja de propiedades no se destruirá y el foco se devolverá a la página que tenía el foco cuando se presionaba el botón.
Para establecer el valor devuelto, el procedimiento del cuadro de diálogo para la página debe llamar a la función SetWindowLong con el valor DWL_MSGRESULT y el procedimiento del cuadro de diálogo debe devolver TRUE.
Cuando el usuario hace clic en el botón Aceptar, Aplicar o Cerrar, la hoja de propiedades envía una notificación de PSN_KILLACTIVE a la página activa, lo que le da la oportunidad de validar los cambios del usuario. Si los cambios son válidos, la hoja de propiedades envía un código de notificación de PSN_APPLY a cada página, lo que lo dirige para aplicar las nuevas propiedades al elemento correspondiente.
Nota
La hoja de propiedades está en proceso de manipular la lista de páginas cuando se envía el código de notificación de PSN_APPLY. No intente agregar, quitar ni insertar páginas mientras controla esta notificación. Si lo hace, tendrá resultados imprevisibles.
El miembro lParam de la estructura PSHNOTIFY a la que apunta lParam se establece en TRUE si el usuario hace clic en el botón Aceptar. También se establece en TRUE si se ha enviado el mensaje de PSM_CANCELTOCLOSE y el usuario hace clic en el botón Cerrar. Se establece en FALSE si el usuario hace clic en el botón Aplicar.
La estructura PSHNOTIFY contiene una estructura NMHDR como primer miembro, hdr. El miembro hwndFrom de esta estructura NMHDR contiene el identificador de la hoja de propiedades.
No llame a la función EndDialog al procesar este código de notificación.
Se destruye una hoja de propiedades modal si el usuario hace clic en el botón Aceptar y cada página devuelve el valor PSNRET_NOERROR en respuesta a PSN_APPLY. Si alguna página devuelve PSNRET_INVALID o PSNRET_INVALID_NOCHANGEPAGE, el proceso Aplicar se cancela inmediatamente. Las páginas después de la página de cancelación no recibirán un código de notificación de PSN_APPLY.
Para recibir este código de notificación, una página debe establecer el valor de DWL_MSGRESULT en FALSE en respuesta al código de notificación de PSN_KILLACTIVE .
Nota
Este código de notificación no se admite al usar el estilo del asistente aero (PSH_AEROWIZARD).
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado |
|