Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para usar una hoja de propiedades en la aplicación, complete los pasos siguientes:
Cree un recurso de plantilla de diálogo para cada página de propiedades. Tenga en cuenta que el usuario puede cambiar de una página a otra, por lo que diseñar cada página lo más coherente posible.
Las plantillas de diálogo de todas las páginas no tienen que tener el mismo tamaño. El marco usa el tamaño de la página más grande para determinar cuánto espacio se va a asignar en la hoja de propiedades de las páginas de propiedades.
Al crear el recurso de plantilla de diálogo para una página de propiedades, debe especificar los estilos siguientes en la hoja de propiedades del diálogo:
Establezca el cuadro de edición Título de la página General en el texto que desea que aparezca en la pestaña de esta página.
Establezca el cuadro de lista Estilo de la página Estilos en Secundario.
Establezca el cuadro de lista Borde de la página Estilos en Fino.
Asegúrese de que la casilla Barra de título de la página Estilos está seleccionada.
Asegúrese de que la casilla Deshabilitada de la página Más estilos esté seleccionada.
Cree una clase derivada de CPropertyPage correspondiente a cada plantilla de cuadro de diálogo de página de propiedades. Consulte Agregar una clase. Elija
CPropertyPagecomo clase base.Cree variables de miembro para contener los valores de esta hoja de propiedades. El proceso para agregar variables de miembro a una página de propiedades es exactamente el mismo que agregar variables miembro a un cuadro de diálogo, ya que una página de propiedades es un cuadro de diálogo especializado. Para obtener más información, vea Definir variables de miembro para controles de cuadro de diálogo.
Construya un objeto CPropertySheet en el código fuente. Normalmente, se crea el
CPropertySheetobjeto en el controlador para el comando que muestra la hoja de propiedades. Este objeto representa toda la hoja de propiedades. Si crea una hoja de propiedades modal con la función DoModal , el marco proporciona tres botones de comando de forma predeterminada: Aceptar, Cancelar y Aplicar. El marco no crea botones de comando para hojas de propiedades modeless creadas con la función Create . No es necesario derivar una clase deCPropertySheeta menos que quiera agregar otros controles (como una ventana de vista previa) o mostrar una hoja de propiedades modeless. Este paso es necesario para las hojas de propiedades modeless porque no contienen ningún control predeterminado que se pueda usar para cerrar la hoja de propiedades.Para que cada página se agregue a la hoja de propiedades, haga lo siguiente:
Construir un objeto para cada clase derivada de
CPropertyPageque creó anteriormente en este proceso.Llame a CPropertySheet::AddPage para cada página.
Normalmente, el objeto que crea
CPropertySheettambién crea losCPropertyPageobjetos en este paso. Sin embargo, si implementa una clase derivada deCPropertySheet, puede insertar los objetosCPropertyPageen el objetoCPropertySheety llamar aAddPagepara cada página desde el constructor de clase derivada deCPropertySheet.AddPageagrega elCPropertyPageobjeto a la lista de páginas de la hoja de propiedades, pero no crea realmente la ventana de esa página. Por lo tanto, no es necesario esperar hasta la creación de la ventana de la hoja de propiedades para llamar aAddPage; puede llamar aAddPagedesde el constructor de la hoja de propiedades.De forma predeterminada, si una hoja de propiedades tiene más pestañas de las que caben en una sola fila de la hoja de propiedades, las pestañas se apilan en varias filas. Para deshabilitar la apilación, llame a CPropertySheet::EnableStackedTabs con el parámetro establecido en FALSE. Debe llamar a
EnableStackedTabscuando cree la hoja de propiedades.Llame a CPropertySheet::DoModal o Crear para mostrar la Hoja de Propiedades. Llame
DoModala para crear una hoja de propiedades como un cuadro de diálogo modal. Llame a Crear para crear la hoja de propiedades como un cuadro de diálogo modeless.Intercambie datos entre las páginas de propiedades y el propietario de la hoja de propiedades. Esto se explica en el artículo Intercambio de datos.
Para obtener un ejemplo de cómo usar hojas de propiedades, vea el EJEMPLO general de MFC PROPDLG.