Función PropertySheetW (prsht.h)

Crea una hoja de propiedades y agrega las páginas definidas en la estructura de encabezado de hoja de propiedades especificada.

Sintaxis

INT_PTR PropertySheetW(
  LPCPROPSHEETHEADERW unnamedParam1
);

Parámetros

unnamedParam1

Tipo: LPCPROPSHEETHEADER

Puntero a una estructura PROPSHEETHEADER que define el marco y las páginas de una hoja de propiedades.

Valor devuelto

Tipo: INT_PTR

Para las hojas de propiedades modales, el valor devuelto es el siguiente:

>=1 El usuario guardó los cambios.
0 El usuario no guardó ningún cambio.
-1 Se produjo un error.
 

En el caso de las hojas de propiedades modeless, el valor devuelto es el identificador de ventana de la hoja de propiedades.

Los siguientes valores devueltos tienen un significado especial.

Código devuelto Descripción
ID_PSREBOOTSYSTEM
Una página envió el mensaje PSM_REBOOTSYSTEM a la hoja de propiedades. El equipo debe reiniciarse para que los cambios del usuario surtan efecto.
ID_PSRESTARTWINDOWS
Una página envió el mensaje PSM_RESTARTWINDOWS a la hoja de propiedades. Windows debe reiniciarse para que los cambios del usuario surtan efecto.

Comentarios

Para recuperar información de error extendida, llame a GetLastError.

Si intenta agregar más de 99 páginas a una hoja de propiedades, se producirá un error en esta función, pero sin indicar la causa del error: PropertySheet devuelve un valor de -1, pero GetLastError devuelve 0.

Nota Los siguientes comentarios solo hacen referencia a los asistentes que no usan el estilo del asistente aero (PSH_AEROWIZARD) o las hojas de propiedades que no son del asistente.
 
De forma predeterminada, la función PropertySheet crea un cuadro de diálogo modal. Si el miembro dwFlags de la estructura PROPSHEETHEADER especifica la marca PSH_MODELESS, PropertySheet crea un cuadro de diálogo modeless y devuelve inmediatamente después de crearlo. En este caso, el valor devuelto de PropertySheet es el identificador de ventana del cuadro de diálogo modeless.

Para una hoja de propiedades modeless, el bucle de mensajes debe usar PSM_ISDIALOGMESSAGE para pasar mensajes al cuadro de diálogo de la hoja de propiedades. El bucle de mensajes debe usar PSM_GETCURRENTPAGEHWND para determinar cuándo destruir el cuadro de diálogo. Cuando el usuario hace clic en el botón Aceptar o Cancelar , PSM_GETCURRENTPAGEHWND devuelve NULL. A continuación, puede usar la función DestroyWindow para destruir el cuadro de diálogo.

Versión 5.80. El valor devuelto propertySheet contiene información diferente para las hojas de propiedades modales y modeless. En algunos casos, es posible que las hojas de propiedades modeless necesiten la información que habrían recibido de PropertySheet si hubieran sido modales. En concreto, es posible que necesiten saber si se habría devuelto ID_PSREBOOTSYSTEM o ID_PSRESTARTWINDOWS. Una hoja de propiedades modeless puede recuperar el valor que una hoja de propiedades modal habría recibido de PropertySheet esperando hasta que PSM_GETCURRENTPAGEHWND devuelva NULL y, a continuación, enviar un mensaje de PSM_GETRESULT .

Nota:

El encabezado prsht.h define PropertySheet como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado prsht.h
Library Comctl32.lib
Archivo DLL Comctl32.dll
Conjunto de API ext-ms-win-shell-comctl32-window-l1-1-0 (introducido en Windows 10, versión 10.0.14393)