Compartir a través de


Función PropertySheetA (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 PropertySheetA(
  LPCPROPSHEETHEADERA unnamedParam1
);

Parámetros

unnamedParam1

Tipo: LPCPROPSHEETHEADER

Puntero a una estructura de 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 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.

Observaciones

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 comentarios siguientes 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 dwFlags miembro del PROPSHEETHEADER estructura especifica la marca PSH_MODELESS, PropertySheet crea un cuadro de diálogo modeless y devuelve inmediatamente después de crearlo. En este caso, el PropertySheet valor devuelto 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 aceptar o botón 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 PropertySheet valor devuelto contiene información diferente para las hojas de propiedades modales y modeless. En algunos casos, las hojas de propiedades modeless podrían necesitar 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 habría recibido una hoja de propiedades modal de PropertySheet esperando hasta que PSM_GETCURRENTPAGEHWND devuelva NULL y, a continuación, envíe 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de prsht.h
biblioteca de Comctl32.lib
DLL de Comctl32.dll
conjunto de API de ext-ms-win-shell-comctl32-window-l1-1-0 (introducido en Windows 10, versión 10.0.14393)