Compartir por


Clase COlePropertyPage

Se utiliza para mostrar las propiedades de un control personalizado en una interfaz gráfica, similar a un cuadro de diálogo.

Sintaxis

class AFX_NOVTABLE COlePropertyPage : public CDialog

Miembros

Constructores públicos

Nombre Descripción
COlePropertyPage::COlePropertyPage Construye un objeto COlePropertyPage.

Métodos públicos

Nombre Descripción
COlePropertyPage::GetControlStatus Indica si el usuario ha modificado el valor en el control.
COlePropertyPage::GetObjectArray Devuelve la matriz de objetos que están siendo editados por la página de propiedades.
COlePropertyPage::GetPageSite Devuelve un puntero a la interfaz de IPropertyPageSite de la página de propiedades.
COlePropertyPage::IgnoreApply Determina qué controles no habilitan el botón Aplicar.
COlePropertyPage::IsModified Indica si el usuario ha modificado la página de propiedades.
COlePropertyPage::OnEditProperty El marco llama a este elemento cuando el usuario edita una propiedad.
COlePropertyPage::OnHelp El marco la llama cuando el usuario pide ayuda.
COlePropertyPage::OnInitDialog El marco la llama cuando se ha inicializado la página de propiedades.
COlePropertyPage::OnObjectsChanged El marco la llama cuando se elige otro control OLE con nuevas propiedades.
COlePropertyPage::OnSetPageSite El marco la llama cuando el marco de propiedades proporciona el sitio de la página.
COlePropertyPage::SetControlStatus Establece una marca que indica si el usuario ha modificado el valor en el control.
COlePropertyPage::SetDialogResource Establece el recurso de diálogo de la página de propiedades.
COlePropertyPage::SetHelpInfo Establece el breve texto de ayuda de la página de propiedades, el nombre de su archivo de ayuda y su contexto de ayuda.
COlePropertyPage::SetModifiedFlag Establece una marca que indica si el usuario ha modificado la página de propiedades.
COlePropertyPage::SetPageName Establece el nombre (título) de la página de propiedades.

Comentarios

Por ejemplo, una página de propiedades puede incluir un control de edición que permita al usuario ver y modificar la propiedad título del control.

Cada propiedad de control de existencias o personalizada puede tener un control de diálogo que permita al usuario del control ver el valor de propiedad actual y modificar ese valor si es necesario.

Para obtener más información sobre el uso de COlePropertyPage, consulte el artículo Controles de ActiveX: páginas de propiedades.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CDialog

COlePropertyPage

Requisitos

Encabezado: afxctl.h

COlePropertyPage::COlePropertyPage

Construye un objeto COlePropertyPage.

COlePropertyPage(
    UINT idDlg,
    UINT idCaption);

Parámetros

idDlg
Id. de recurso de la plantilla de diálogo.

idCaption
Id. de recurso del título de la página de propiedades.

Comentarios

Al implementar una subclase de COlePropertyPage, el constructor de la subclase debe usar el constructor COlePropertyPage para identificar el recurso de plantilla de diálogo en el que se basa la página de propiedades y el recurso de cadena que contiene su título.

COlePropertyPage::GetControlStatus

Determina si el usuario ha modificado el valor del control de la página de propiedades con el id. de recurso especificado.

BOOL GetControlStatus(UINT nID);

Parámetros

Nid
Id. de recurso de un control de la página de propiedades.

Valor devuelto

TRUE si se ha modificado el valor del control; en caso contrario, FALSE.

COlePropertyPage::GetObjectArray

Devuelve la matriz de objetos que están siendo editados por la página de propiedades.

LPDISPATCH* GetObjectArray(ULONG* pnObjects);

Parámetros

pnObjects
Puntero a un entero largo sin signo que recibirá el número de objetos que edita la página.

Valor devuelto

Puntero a una matriz de punteros de IDispatch, que se usan para tener acceso a las propiedades de cada control de la página de propiedades. El autor de la llamada no debe liberar estos punteros de interfaz.

Comentarios

Cada objeto de la página de propiedades mantiene una matriz de punteros a las interfaces de IDispatch de los objetos que edita la página. Esta función establece su argumento pnObjects en el número de elementos de esa matriz y devuelve un puntero al primer elemento de la matriz.

COlePropertyPage::GetPageSite

Obtiene un puntero a la interfaz de IPropertyPageSite de la página de propiedades.

LPPROPERTYPAGESITE GetPageSite();

Valor devuelto

Un puntero a la interfaz de IPropertyPageSite de la página de propiedades.

Comentarios

Los controles y contenedores cooperan para que los usuarios puedan examinar y editar las propiedades de control. El control proporciona páginas de propiedades, cada una de las cuales es un objeto OLE que permite al usuario editar un conjunto relacionado de propiedades. El contenedor proporciona un marco de propiedad que muestra las páginas de propiedades. Para cada página, el marco de propiedad proporciona un sitio de página, que admite la interfaz de IPropertyPageSite.

COlePropertyPage::IgnoreApply

Determina qué controles no habilitan el botón Aplicar.

void IgnoreApply(UINT nID);

Parámetros

Nid
Id. del control que se ignorará.

Comentarios

El botón Aplicar de la página de propiedades solo está habilitado cuando se han cambiado los valores de los controles de la página de propiedades. Use esta función para especificar controles que no ocasionan que el botón Aplicar se habilite cuando cambien sus valores.

COlePropertyPage::IsModified

Determina si el usuario ha cambiado algún valor de la página de propiedades.

BOOL IsModified();

Valor devuelto

TRUE si se ha modificado la página de propiedades.

COlePropertyPage::OnEditProperty

El marco llama a esta función cuando se va a editar una propiedad específica.

virtual BOOL OnEditProperty(DISPID dispid);

Parámetros

dispid
Id. de envío de la propiedad que se está editando.

Valor devuelto

La implementación predeterminada devuelve FALSE. Las invalidaciones de esta función deben devolver TRUE.

Comentarios

Puede invalidarlo para establecer el foco en el control adecuado de la página. La implementación predeterminada no hace nada y devuelve FALSE.

COlePropertyPage::OnHelp

El marco llama a esta función cuando el usuario solicita ayuda en línea.

virtual BOOL OnHelp(LPCTSTR lpszHelpDir);

Parámetros

lpszHelpDir
Directorio que contiene el archivo de ayuda de la página de propiedades.

Valor devuelto

La implementación predeterminada devuelve FALSE.

Comentarios

Invalide si la página de propiedades debe realizar alguna acción especial cuando el usuario accede a la ayuda. La implementación predeterminada no hace nada y devuelve FALSE, lo que indica al marco que llame a WinHelp.

COlePropertyPage::OnInitDialog

El marco llama a esta función cuando se inicializa el diálogo de la página de propiedades.

virtual BOOL OnInitDialog();

Valor devuelto

La implementación predeterminada devuelve FALSE.

Comentarios

Invalide si se requiere alguna acción especial cuando se inicializa el diálogo. La implementación predeterminada llama a CDialog::OnInitDialog devuelve FALSE.

COlePropertyPage::OnObjectsChanged

El marco la llama cuando se elige otro control OLE con nuevas propiedades.

virtual void OnObjectsChanged();

Comentarios

Al ver las propiedades de un control de OLE en el entorno del desarrollador, se usa un cuadro de diálogo sin modo para mostrar sus páginas de propiedades. Si se selecciona otro control, se debe mostrar un conjunto diferente de páginas de propiedades para el nuevo conjunto de propiedades. El marco llama a esta función para notificar a la página de propiedades del cambio.

Invalide esta función para recibir la notificación de esta acción y realizar alguna acción especial.

COlePropertyPage::OnSetPageSite

El marco llama a esta función cuando el marco de propiedad proporciona el sitio de la página de propiedades.

virtual void OnSetPageSite();

Comentarios

La implementación predeterminada carga el título de la página e intenta determinar el tamaño de la página del recurso de diálogo. Invalide esta función si la página de propiedades requiere alguna acción adicional; la invalidación debe llamar a la implementación de la clase base.

COlePropertyPage::SetControlStatus

Cambia el estado de un control de la página de propiedades.

BOOL SetControlStatus(
    UINT nID,
    BOOL bDirty);

Parámetros

Nid
Contiene la Id. de un control de la página de propiedades.

bDirty
Especifica si se ha modificado un campo de la página de propiedades. Se establece en TRUE si el campo se ha modificado, en FALSE si no se ha modificado.

Valor devuelto

TRUE, si se estableció el control especificado; en caso contrario, FALSE.

Comentarios

Si el estado de un control de la página de propiedades está sucio cuando se cierra la página de propiedades o se elige el botón Aplicar, la propiedad del control se actualizará con el valor adecuado.

COlePropertyPage::SetDialogResource

Establece el recurso de diálogo de la página de propiedades.

void SetDialogResource(HGLOBAL hDialog);

Parámetros

hDialog
Establece el recurso de diálogo de la página de propiedades.

COlePropertyPage::SetHelpInfo

Especifica información sobre herramientas, el nombre de archivo de ayuda y el contexto de ayuda de la página de propiedades.

void SetHelpInfo(
    LPCTSTR lpszDocString,
    LPCTSTR lpszHelpFile = NULL,
    DWORD dwHelpContext = 0);

Parámetros

lpszDocString
Cadena que contiene información breve de ayuda que se mostrará en una barra de estado u otra ubicación.

lpszHelpFile
Nombre del archivo de ayuda de la página de propiedades.

dwHelpContext
Contexto de ayuda para la página de propiedades.

COlePropertyPage::SetModifiedFlag

Indica si el usuario ha modificado la página de propiedades.

void SetModifiedFlag(BOOL bModified = TRUE);

Parámetros

bModified
Especifica el nuevo valor de la marca modificada de la página de propiedades.

COlePropertyPage::SetPageName

Establece el nombre de la página de propiedades, que normalmente se mostrará en la pestaña de la página.

void SetPageName(LPCTSTR lpszPageName);

Parámetros

lpszPageName
Puntero que apunta a una cadena que contiene el nombre de la página de propiedades.

Consulte también

Muestra MFC CIRC3
Muestra de MFC TESTHELP
CDialog (clase)
Gráfico de jerarquías
CDialog (clase)