CMFCPropertySheet (clase)
La clase CMFCPropertySheet
admite una hoja de propiedades donde cada página de propiedades se indica mediante una pestaña de página, un botón de barra de herramientas, un nodo del control de árbol o un elemento de lista.
Sintaxis
class CMFCPropertySheet : public CPropertySheet
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CMFCPropertySheet::CMFCPropertySheet | Construye un objeto CMFCPropertySheet . |
CMFCPropertySheet::~CMFCPropertySheet |
Destructor. |
Métodos públicos
Nombre | Descripción |
---|---|
CMFCPropertySheet::AddPage | Agrega una página a la hoja de propiedades. |
CMFCPropertySheet::AddPageToTree | Agrega una nueva página de propiedades al control de árbol. |
CMFCPropertySheet::AddTreeCategory | Agrega un nuevo nodo al control de árbol. |
CMFCPropertySheet::EnablePageHeader | Reserva espacio en la parte superior de cada página para dibujar un encabezado personalizado. |
CMFCPropertySheet::GetHeaderHeight | Recupera el alto del encabezado actual. |
CMFCPropertySheet::GetLook | Recupera un valor de enumeración que especifica el aspecto de la hoja de propiedades actual. |
CMFCPropertySheet::GetNavBarWidth | Recupera el ancho de la barra de navegación, en píxeles. |
CMFCPropertySheet::GetTab | Recupera el objeto de control de la pestaña interna que admite el control de la hoja de propiedades actual. |
CMFCPropertySheet::GetThisClass |
Lo usa el marco para obtener un puntero al objeto CRuntimeClass asociado a este tipo de clase. |
CMFCPropertySheet::InitNavigationControl | Inicializa el aspecto del control de la hoja de propiedades actual. |
CMFCPropertySheet::OnActivatePage | Lo llama el marco de trabajo cuando se ha habilitado una página de propiedades. |
CMFCPropertySheet::OnDrawPageHeader | Lo llama el marco de trabajo para dibujar un encabezado de la página de propiedades personalizada. |
CMFCPropertySheet::OnInitDialog |
Controla el mensaje WM_INITDIALOG. (Invalida CPropertySheet::OnInitDialog). |
CMFCPropertySheet::OnRemoveTreePage | Lo llama el marco de trabajo para quitar una página de propiedades de un control de árbol. |
CMFCPropertySheet::PreTranslateMessage |
Traduce los mensajes de ventana antes de enviarlos a las funciones de Windows TranslateMessage y DispatchMessage. (Invalida CPropertySheet::PreTranslateMessage ). |
CMFCPropertySheet::RemoveCategory | Quita un nodo del control de árbol. |
CMFCPropertySheet::RemovePage | Quita una página de propiedades de la hoja de propiedades. |
CMFCPropertySheet::SetIconsList | Especifica la lista de imágenes que se usan en el control de navegación del panel de Outlook. |
CMFCPropertySheet::SetLook | Especifica el aspecto de la hoja de propiedades. |
Comentarios
La clase CMFCPropertySheet
representa hojas de propiedades, también conocidas como cuadros de diálogo de pestaña. La clase CMFCPropertySheet
puede mostrar una página de propiedades de varias formas.
Realice los pasos siguientes para usar la clase CMFCPropertySheet
en la aplicación:
Derive una clase de la clase
CMFCPropertySheet
y llámela, por ejemplo, CMyPropertySheet.Construya un objeto CMFCPropertyPage para cada página de propiedades.
Llame al método CMFCPropertySheet::SetLook del constructor CMyPropertySheet. Un parámetro de ese método especifica que las páginas de propiedades se mostrarán como pestañas a lo largo de la parte superior o izquierda de la hoja de propiedades, como pestañas en el estilo de una hoja de propiedades de Microsoft OneNote, como botones en un control de barra de herramientas de Microsoft Outlook, como nodos en un control de árbol o como una lista de elementos en el lado izquierdo de la hoja de propiedades.
Si crea una hoja de propiedades en el estilo de una barra de herramientas de Microsoft Outlook, llame al método CMFCPropertySheet::SetIconsList para asociar una lista de imágenes junto con las páginas de propiedades.
Llame al método CMFCPropertySheet::AddPage para cada página de propiedades.
Cree un control
CMFCPropertySheet
y llame a su métodoDoModal
.
Ilustraciones
La siguiente ilustración muestra una hoja de propiedades que se encuentra en el estilo de una barra de herramientas incrustada de Microsoft Outlook. La barra de herramientas de Outlook aparece en el lado izquierdo de la hoja de propiedades.
La siguiente ilustración muestra una hoja de propiedades que contiene un objeto CMFCPropertyGridCtrl (clase). Ese objeto es una hoja de propiedades del estilo de una hoja de propiedades de controles comunes estándar.
La siguiente ilustración muestra una hoja de propiedades que se encuentra en el estilo de un control de árbol.
Jerarquía de herencia
Requisitos
Encabezado: afxpropertysheet.h
CMFCPropertySheet::AddPage
Agrega una página a la hoja de propiedades.
void AddPage(CPropertyPage* pPage);
Parámetros
pPage
[in] Puntero a un objeto de página. Este parámetro no puede ser NULL.
Comentarios
Este método agrega la página de propiedades especificada como la pestaña situada más a la derecha en la hoja de propiedades. Por lo tanto, use este método para agregar páginas en orden de izquierda a derecha.
Si la hoja de propiedades está en el estilo de Microsoft Outlook, el marco muestra una lista de botones de navegación a la izquierda de la hoja de propiedades. Una vez que este método agrega una página de propiedades, agrega un botón correspondiente a la lista. Para mostrar una página de propiedades, haga clic en su botón correspondiente. Para obtener más información sobre los estilos de hojas de propiedades, vea CMFCPropertySheet::SetLook.
CMFCPropertySheet::AddPageToTree
Agrega una nueva página de propiedades al control de árbol.
void AddPageToTree(
CMFCPropertySheetCategoryInfo* pCategory,
CMFCPropertyPage* pPage,
int nIconNum=-1,
int nSelIconNum=-1);
Parámetros
pCategory
[in] Puntero a un nodo de árbol primario o NULL para asociar la página especificada con el nodo de nivel superior. Llame al método CMFCPropertySheet::AddTreeCategory para obtener este puntero.
pPage
[in] Puntero a un objeto de página de propiedades.
nIconNum
[in] Índice de base cero de un icono o -1 si no se usa ningún icono. El icono se muestra junto a la página de propiedades del control de árbol cuando la página no está seleccionada. El valor predeterminado es -1.
nSelIconNum
[in] Índice de base cero de un icono o -1 si no se usa ningún icono. El icono se muestra junto a la página de propiedades del control de árbol cuando la página está seleccionada. El valor predeterminado es -1.
Comentarios
Este método agrega una página de propiedades como hoja de un control de árbol. Para agregar una página de propiedades, cree un objeto CMFCPropertySheet
, llame al método CMFCPropertySheet::SetLook con el parámetro look establecido en CMFCPropertySheet::PropSheetLook_Tree
y, a continuación, use este método para agregar la página de propiedades.
CMFCPropertySheet::AddTreeCategory
Agrega un nuevo nodo al control de árbol.
CMFCPropertySheetCategoryInfo* AddTreeCategory(
LPCTSTR lpszLabel,
int nIconNum=-1,
int nSelectedIconNum=-1,
const CMFCPropertySheetCategoryInfo* pParentCategory=NULL);
Parámetros
lpszLabel
[in] El nombre del nodo.
nIconNum
[in] Índice de base cero de un icono o -1 si no se usa ningún icono. El icono se muestra junto a la página de propiedades del control de árbol cuando la página no está seleccionada. El valor predeterminado es -1.
nSelectedIconNum
[in] Índice de base cero de un icono o -1 si no se usa ningún icono. El icono se muestra junto a la página de propiedades del control de árbol cuando la página está seleccionada. El valor predeterminado es -1.
pParentCategory
[in] Puntero a un nodo de árbol primario o NULL para asociar la página especificada con el nodo de nivel superior. Establezca este parámetro con el método CMFCPropertySheet::AddTreeCategory.
Valor devuelto
Puntero al nuevo nodo del control de árbol.
Comentarios
Use este método para agregar un nuevo nodo, que también se conoce como categoría, al control de árbol. Para agregar un nodo, cree un objeto CMFCPropertySheet
, llame al método CMFCPropertySheet::SetLook con el parámetro look establecido en CMFCPropertySheet::PropSheetLook_Tree
y, a continuación, use este método para agregar el nodo.
Use el valor devuelto de este método en llamadas posteriores a CMFCPropertySheet::AddPageToTree y CMFCPropertySheet::AddTreeCategory.
CMFCPropertySheet::CMFCPropertySheet
Construye un objeto CMFCPropertySheet
.
CMFCPropertySheet(
UINT nIDCaption,
CWnd* pParentWnd=NULL,
UINT iSelectPage=0);
CMFCPropertySheet(
LPCTSTR pszCaption,
CWnd* pParentWnd=NULL,
UINT iSelectPage=0);
Parámetros
pszCaption
[in] Cadena que contiene el título de la hoja de propiedades. No puede ser NULL.
nIDCaption
[in] Un identificador de recurso que contiene el título de la hoja de propiedades.
pParentWnd
[in] Puntero a la ventana primaria de la hoja de propiedades o NULL si la ventana primaria es la ventana principal de la aplicación. El valor predeterminado es NULL.
iSelectPage
[in] Índice de base cero de la página de propiedades superior. El valor predeterminado es 0.
Comentarios
Para obtener más información, vea los parámetros del constructor CPropertySheet::CPropertySheet.
CMFCPropertySheet::EnablePageHeader
Reserva espacio en la parte superior de cada página para dibujar un encabezado personalizado.
void EnablePageHeader(int nHeaderHeight);
Parámetros
nHeaderHeight
[in] Alto del encabezado, en píxeles.
Comentarios
Para usar el valor del parámetro nHeaderHeight para dibujar un encabezado personalizado, invalide el método CMFCPropertySheet::OnDrawPageHeader.
CMFCPropertySheet::GetHeaderHeight
Recupera el alto del encabezado actual.
int GetHeaderHeight() const;
Valor devuelto
Alto del encabezado, en píxeles.
Comentarios
Llame al método CMFCPropertySheet::EnablePageHeader antes de llamar a este método.
CMFCPropertySheet::GetLook
Recupera un valor de enumeración que especifica el aspecto de la hoja de propiedades actual.
PropSheetLook GetLook() const;
Valor devuelto
Uno de los valores de enumeración que especifica la apariencia de la hoja de propiedades. Para obtener una lista de valores posibles, vea la tabla de enumeración en la sección Comentarios de CMFCPropertySheet::SetLook.
CMFCPropertySheet::GetNavBarWidth
Obtiene el ancho de la barra de navegación.
int GetNavBarWidth() const;
Valor devuelto
Ancho de la barra de navegación, en píxeles.
CMFCPropertySheet::GetTab
Recupera el objeto de control de la pestaña interna que admite el control de la hoja de propiedades actual.
CMFCTabCtrl& GetTab() const;
Valor devuelto
Objeto de control de tabulación interno.
Comentarios
Puede establecer una hoja de propiedades para que aparezca en diferentes estilos, como un control de árbol, una lista de botones de navegación o un conjunto de páginas con pestañas.
Antes de llamar a este método, llame al método CMFCPropertySheet::SetLook para establecer la apariencia del control de hoja de propiedades. A continuación, llame al método CMFCPropertySheet::InitNavigationControl para inicializar el objeto de control de ficha interno. Utilice este método para recuperar el objeto de control tab y, a continuación, use ese objeto para trabajar con las pestañas de la hoja de propiedades.
Este método afirma en modo de depuración si el control de hoja de propiedades no está establecido para que aparezca en el estilo de Microsoft OneNote.
CMFCPropertySheet::InitNavigationControl
Inicializa el aspecto del control de la hoja de propiedades actual.
virtual CWnd* InitNavigationControl();
Valor devuelto
Puntero a la ventana del control de la hoja de propiedades.
Comentarios
Un control de hoja de propiedades puede aparecer en varios formularios diferentes, como un conjunto de páginas con pestañas, un control de árbol o una lista de botones de navegación. Use el método CMFCPropertySheet::SetLook para especificar la apariencia del control de hoja de propiedades.
CMFCPropertySheet::OnActivatePage
Lo llama el marco de trabajo cuando se ha habilitado una página de propiedades.
virtual void OnActivatePage(CPropertyPage* pPage);
Parámetros
pPage
[in] Puntero a un objeto de página de propiedades que representa la página de propiedades habilitada.
Comentarios
De forma predeterminada, este método garantiza que la página de propiedades habilitada se desplaza hacia la vista. Si el estilo de la hoja de propiedades actual contiene un panel de Microsoft Outlook, este método establece el botón correspondiente de Outlook en el estado comprobado.
CMFCPropertySheet::OnDrawPageHeader
Lo llama el marco de trabajo para dibujar el encabezado de una página de propiedades personalizada.
virtual void OnDrawPageHeader(
CDC* pDC,
int nPage,
CRect rectHeader);
Parámetros
pDC
[in] Puntero a un contexto de dispositivo.
nPage
[in] Número de página de propiedades de base cero.
rectHeader
[in] Rectángulo delimitador que especifica dónde dibujar el encabezado.
Comentarios
De forma predeterminada, este método no hace nada. Si invalida este método, llame al método CMFCPropertySheet::EnablePageHeader antes de que el marco llame a este método.
CMFCPropertySheet::OnRemoveTreePage
Lo llama el marco de trabajo para quitar una página de propiedades de un control de árbol.
virtual BOOL OnRemoveTreePage(CPropertyPage* pPage);
Parámetros
pPage
[in] Puntero a un objeto de página de propiedades que representa la página de propiedades que se va a quitar.
Valor devuelto
TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.
CMFCPropertySheet::RemoveCategory
Quita un nodo del control de árbol.
void RemoveCategory(CMFCPropertySheetCategoryInfo* pCategory);
Parámetros
pCategory
[in] Puntero a una categoría (nodo) que se va a quitar.
Comentarios
Use este método para quitar un nodo, que también se conoce como una categoría, de un control de árbol. Use el método CMFCPropertySheet::AddTreeCategory para agregar un nodo a un control de árbol.
CMFCPropertySheet::RemovePage
Quita una página de propiedades de la hoja de propiedades.
void RemovePage(CPropertyPage* pPage);
void RemovePage(int nPage);
Parámetros
pPage
[in] Puntero a un objeto de página de propiedades que representa la página de propiedades que se va a quitar. No puede ser NULL.
nPage
[in] Índice de base cero de la página que se va a quitar.
Comentarios
Este método quita la página de propiedades especificada y destruye su ventana asociada. El objeto de página de propiedades que especifica el parámetro pPage no se destruye hasta que se cierra la ventana CMFCPropertySheet.
CMFCPropertySheet::SetIconsList
Especifica la lista de imágenes que se usan en el control de navegación del panel de Outlook.
BOOL SetIconsList(
UINT uiImageListResID,
int cx,
COLORREF clrTransparent=RGB(255, 0, 255));
void SetIconsList(HIMAGELIST hIcons);
Parámetros
uiImageListResID
[in] Identificador de recurso de una lista de imágenes.
cx
[in] Ancho, en píxeles, de iconos de la lista de imágenes.
clrTransparent
[in] Color de imagen transparente. Las partes de la imagen que son este color serán transparentes. El valor predeterminado es el color magenta, RGB(255,0,255).
hIcons
[in] Identificador de una lista de imágenes existente.
Valor devuelto
En la primera sintaxis de sobrecarga de método, TRUE si este método es correcto; de lo contrario, FALSE.
Comentarios
Si la hoja de propiedades está en el estilo de Microsoft Outlook, el marco muestra una lista de botones de navegación, el denominado control de panel de Outlook, a la izquierda de la hoja de propiedades. Use este método para establecer la lista de imágenes que usará el control de panel de Outlook.
Para obtener más información sobre los métodos que admiten este método, vea CImageList::Create y CImageList::Add. Para obtener más información sobre cómo establecer el estilo de una hoja de propiedades, vea CMFCPropertySheet::SetLook.
CMFCPropertySheet::SetLook
Especifica el aspecto de la hoja de propiedades.
void SetLook(
PropSheetLook look,
int nNavControlWidth=100);
Parámetros
look
[in] Uno de los valores de enumeración que especifica la apariencia de la hoja de propiedades. El estilo predeterminado de una hoja de propiedades es CMFCPropertySheet::PropSheetLook_Tabs
. Para más información, consulte la tabla de la sección de este tema.
nNavControlWidth
[in] El ancho del control de navegación, en píxeles. El valor predeterminado es 100.
Comentarios
Para mostrar una hoja de propiedades en un estilo distinto del valor predeterminado, llame a este método antes de crear la ventana de hoja de propiedades.
En la tabla siguiente se enumeran los valores de enumeración que se pueden especificar en el parámetro look.
Valor | Descripción |
---|---|
CMFCPropertySheet::PropSheetLook_Tabs |
(Valor predeterminado) Muestra una pestaña para cada página de propiedades. Las pestañas se muestran en la parte superior de la hoja de propiedades y se apilan si hay más pestañas de las que caben en una sola fila. |
CMFCPropertySheet::PropSheetLook_OutlookBar |
Muestra una lista de botones de navegación, en el estilo de la barra de Microsoft Outlook, en el lado izquierdo de la hoja de propiedades. Cada botón de la lista corresponde a una página de propiedades. El marco muestra flechas de desplazamiento si hay más botones de los que caben en el área visible de la lista. |
CMFCPropertySheet::PropSheetLook_Tree |
Muestra un control de árbol en el lado izquierdo de la hoja de propiedades. Cada nodo primario o secundario del control de árbol corresponde a una página de propiedades. El marco muestra flechas de desplazamiento si hay más nodos de los que caben en el área visible del control de árbol. |
CMFCPropertySheet::PropSheetLook_OneNoteTabs |
Muestra una pestaña, en el estilo de Microsoft OneNote, para cada página de propiedades. El marco muestra pestañas en la parte superior de la hoja de propiedades y flechas de desplazamiento si hay más pestañas de las que caben en una sola fila. |
CMFCPropertySheet::PropSheetLook_List |
Muestra una lista en el lado izquierdo de la hoja de propiedades. Cada elemento de lista corresponde a una página de propiedades. El marco muestra flechas de desplazamiento si hay más elementos de lista de los que caben en el área visible de la lista. |
Consulte también
Gráfico de jerarquías
Clases
CMFCPropertyPage (clase)
CMFCOutlookBar (clase)