Páginas de propiedades (MFC)

En las páginas de propiedades se muestran los valores actuales de propiedades específicas de un control OLE en una interfaz gráfica personalizable para ver y editar mediante la compatibilidad con un mecanismo de asignación de datos basado en el intercambio de datos de diálogo (DDX).

Este mecanismo de asignación de datos asigna controles de página de propiedades a las propiedades individuales del control OLE. El valor de la propiedad de control refleja el estado o el contenido del control de la página de propiedades. La asignación entre los controles de página de propiedades y las propiedades se especifica mediante llamadas de función DDP_ en la función miembro DoDataExchange de la página de propiedades. A continuación, se muestra una lista de funciones DDP_ que intercambian datos introducidos mediante la página de propiedades del control:

Transferencia de datos de la página de propiedades

Nombre Descripción
DDP_CBIndex Vincula el índice de la cadena seleccionada en un cuadro combinado con la propiedad de un control.
DDP_CBString Vincula la cadena seleccionada en un cuadro combinado con la propiedad de un control. La cadena seleccionada puede comenzar por las mismas letras que el valor de la propiedad, pero no es necesario que coincida con ella por completo.
DDP_CBStringExact Vincula la cadena seleccionada en un cuadro combinado con la propiedad de un control. La cadena seleccionada y el valor de cadena de la propiedad deben coincidir exactamente.
DDP_Check Vincula una casilla de la página de propiedades del control con la propiedad de un control.
DDP_LBIndex Vincula el índice de la cadena seleccionada en un cuadro de lista con la propiedad de un control.
DDP_LBString Vincula la cadena seleccionada en un cuadro de lista con la propiedad de un control. La cadena seleccionada puede comenzar por las mismas letras que el valor de la propiedad, pero no es necesario que coincida con ella por completo.
DDP_LBStringExact Vincula la cadena seleccionada en un cuadro de lista con la propiedad de un control. La cadena seleccionada y el valor de cadena de la propiedad deben coincidir exactamente.
DDP_PostProcessing Finaliza la transferencia de valores de propiedad del control.
DDP_Radio Vincula un grupo de botones de radio de la página de propiedades del control con la propiedad de un control.
DDP_Text Vincula un control de la página de propiedades del control con la propiedad de un control. Esta función controla varios tipos diferentes de propiedades, como double, short, BSTR y long.

Para más información sobre la función DoDataExchange y las páginas de propiedades, vea el artículo Controles ActiveX: páginas de propiedades.

A continuación, se muestra una lista de macros usadas para crear y administrar páginas de propiedades para un control OLE:

Páginas de propiedades

Nombre Descripción
BEGIN_PROPPAGEIDS Comienza la lista de id. de páginas de propiedades.
END_PROPPAGEIDS Finaliza la lista de id. de páginas de propiedades.
PROPPAGEID Declara una página de propiedades de la clase de control.

DDP_CBIndex

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de una propiedad de entero con el índice de la selección actual en un cuadro combinado de la página de propiedades.

void AFXAPI DDP_CBIndex(
    CDataExchange* pDX,
    int id,
    int& member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de cuadro combinado asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con el control de cuadro combinado especificado por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_CBIndex correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_CBString

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de una propiedad de cadena con la selección actual en un cuadro combinado de la página de propiedades.

void AFXAPI DDP_CBString(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de cuadro combinado asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con la cadena de cuadro combinado especificada por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_CBString correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_CBStringExact

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de una propiedad de cadena que coincide exactamente con la selección actual en un cuadro combinado de la página de propiedades.

void AFXAPI DDP_CBStringExact(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de cuadro combinado asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con la cadena de cuadro combinado especificada por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_CBStringExact correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_Check

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de la propiedad con el control de casilla de la página de propiedades asociado.

void AFXAPI DDP_Check(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de casilla asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con el control de casilla especificado por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_Check correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_LBIndex

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de una propiedad de entero con el índice de la selección actual en un cuadro de lista de la página de propiedades.

void AFXAPI DDP_LBIndex(
    CDataExchange* pDX,
    int id,
    int& member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de lista asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con la cadena de cuadro de lista especificada por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_LBIndex correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_LBString

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de una propiedad de cadena con la selección actual en un cuadro de lista de la página de propiedades.

void AFXAPI DDP_LBString(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de lista asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con la cadena de cuadro de lista especificada por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_LBString correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_LBStringExact

Llame a esta función en la función DoDataExchange de la página de propiedades para sincronizar el valor de una propiedad de cadena que coincide exactamente con la selección actual en un cuadro de lista de la página de propiedades.

void AFXAPI DDP_LBStringExact(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de lista asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con la cadena de cuadro de lista especificada por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_LBStringExact correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_PostProcessing

Llame a esta función en la función DoDataExchange de la página de propiedades para finalizar la transferencia de valores de propiedades desde la página de propiedades al control cuando se guarden los valores de propiedades.

void AFXAPI DDP_PostProcessing(CDataExchange * pDX);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

Comentarios

Se debe llamar a esta función una vez completadas todas las funciones de intercambio de datos. Por ejemplo:

void CMyAxPropPage::DoDataExchange(CDataExchange *pDX)
{
   DDP_Text(pDX, IDC_POSITIONEDIT, m_NeedlePosition, _T("NeedlePosition"));
   DDX_Text(pDX, IDC_POSITIONEDIT, m_NeedlePosition);
   DDV_MinMaxInt(pDX, m_NeedlePosition, 0, 3);
   DDP_PostProcessing(pDX);
}

Requisitos

Encabezado: afxctl.h

DDP_Radio

Llame a esta función en la función DoPropExchange del control para sincronizar el valor de la propiedad con el control de botón de radio de la página de propiedades asociado.

void AFXAPI DDP_Radio(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control de botón de radio asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con el control de botón de radio especificado por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_Radio correspondiente.

Requisitos

Encabezado: afxctl.h

DDP_Text

Llame a esta función en la función DoDataExchange del control para sincronizar el valor de la propiedad con el control de la página de propiedades asociado.

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    BYTE & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    UINT & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    long & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    DWORD & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    float & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    double & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    CString & member,
    LPCTSTR pszPropName);

Parámetros

pDX
Un puntero a un objeto CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

id
Id. de recurso del control asociado a la propiedad de control especificada por pszPropName.

member
Variable miembro asociada al control de página de propiedades especificado por id y la propiedad especificada por pszPropName.

pszPropName
Nombre de la propiedad de control que se va a intercambiar con el control especificado por id.

Comentarios

Se debe llamar a esta función antes de la llamada de función DDX_Text correspondiente.

Requisitos

Encabezado: afxctl.h

BEGIN_PROPPAGEIDS

Comienza la definición de la lista de id. de páginas de propiedades del control.

BEGIN_PROPPAGEIDS(class_name,  count)

Parámetros

class_name
Nombre de la clase de control para la que se especifican las páginas de propiedades.

count
Número de páginas de propiedades usadas por la clase de control.

Comentarios

En el archivo de implementación (.cpp) que define las funciones miembro de la clase, inicie la lista de páginas de propiedades con la macro BEGIN_PROPPAGEIDS, agregue entradas de macro para cada una de las páginas de propiedades y complete la lista de páginas de propiedades con la macro END_PROPPAGEIDS.

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

Requisitos

Encabezado: afxctl.h

END_PROPPAGEIDS

Finaliza la definición de la lista de id. de páginas de propiedades.

END_PROPPAGEIDS(class_name)

Parámetros

class_name
Nombre de la clase de control que posee la página de propiedades.

Requisitos

Encabezado: afxctl.h

PROPPAGEID

Agrega una página de propiedades para que la use el control OLE.

PROPPAGEID(clsid)

Parámetros

clsid
Id. de clase único de una página de propiedades.

Comentarios

Todas las macros PROPPAGEID deben colocarse entre las macros BEGIN_PROPPAGEIDS y END_PROPPAGEIDS en el archivo de implementación del control.

Requisitos

Encabezado: afxctl.h

Consulte también

Macros y globales