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