Páginas de propriedade (MFC)
As páginas de propriedades exibem os valores atuais de propriedades específicas do controle OLE em uma interface gráfica personalizável para exibição e edição, dando suporte a um mecanismo de mapeamento de dados com base em DDX (troca de dados de caixa de diálogo).
Esse mecanismo de mapeamento de dados mapeia controles de página de propriedades para as propriedades individuais do controle OLE. O valor da propriedade do controle reflete o status ou o conteúdo do controle da página de propriedades. O mapeamento entre controles de página de propriedades e propriedades é especificado por chamadas de função DDP_ na função membro DoDataExchange
da página de propriedades. Veja a seguir uma lista de funções DDP_ que trocam dados inseridos usando a página de propriedades do controle:
Transferência de dados da página de propriedades
Nome | Descrição |
---|---|
DDP_CBIndex | Vincula o índice da cadeia de caracteres selecionada em uma caixa de combinação com a propriedade de um controle. |
DDP_CBString | Vincula a cadeia de caracteres selecionada em uma caixa de combinação com a propriedade de um controle. A cadeia de caracteres selecionada pode começar com as mesmas letras que o valor da propriedade, mas não precisa corresponder totalmente a ela. |
DDP_CBStringExact | Vincula a cadeia de caracteres selecionada em uma caixa de combinação com a propriedade de um controle. A cadeia de caracteres selecionada e o valor da cadeia de caracteres da propriedade devem ter correspondência exata. |
DDP_Check | Vincula uma caixa de seleção na página de propriedades do controle com a propriedade de um controle. |
DDP_LBIndex | Vincula o índice da cadeia de caracteres selecionada em uma caixa de listagem com a propriedade de um controle. |
DDP_LBString | Vincula a cadeia de caracteres selecionada em uma caixa de listagem com a propriedade de um controle. A cadeia de caracteres selecionada pode começar com as mesmas letras que o valor da propriedade, mas não precisa corresponder totalmente a ela. |
DDP_LBStringExact | Vincula a cadeia de caracteres selecionada em uma caixa de listagem com a propriedade de um controle. A cadeia de caracteres selecionada e o valor da cadeia de caracteres da propriedade devem ter correspondência exata. |
DDP_PostProcessing | Conclui a transferência dos valores da propriedade do controle. |
DDP_Radio | Vincula um grupo de botões de opção na página de propriedades do controle com a propriedade de um controle. |
DDP_Text | Vincula um controle na página de propriedades do controle com a propriedade de um controle. Essa função manipula vários tipos diferentes de propriedades, como double , short , BSTR e long . |
Para obter mais informações sobre as páginas de propriedades e a função DoDataExchange
, consulte o artigo Controles ActiveX: Páginas de Propriedades.
Veja a seguir uma lista de macros usadas para criar e gerenciar páginas de propriedades para um controle OLE:
Páginas de propriedades
Nome | Descrição |
---|---|
BEGIN_PROPPAGEIDS | Inicia a lista de IDs da página de propriedades. |
END_PROPPAGEIDS | Encerra a lista de IDs da página de propriedades. |
PROPPAGEID | Declara uma página de propriedades da classe de controle. |
DDP_CBIndex
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor inteiro de uma propriedade com o índice da seleção atual em uma caixa de combinação na página de propriedades.
void AFXAPI DDP_CBIndex(
CDataExchange* pDX,
int id,
int& member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID de recurso do controle da caixa de combinação associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade do controle a ser trocado com o controle da caixa de combinação especificado pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_CBIndex
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_CBString
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor de uma propriedade de cadeia de caracteres com a seleção atual em uma caixa de combinação na página de propriedades.
void AFXAPI DDP_CBString(
CDataExchange* pDX,
int id,
CString& member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID de recurso do controle da caixa de combinação associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade do controle a ser trocado com a cadeia de caracteres da caixa de combinação especificada pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_CBString
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_CBStringExact
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor de uma propriedade de cadeia de caracteres que corresponde exatamente à seleção atual em uma caixa de combinação na página da propriedades.
void AFXAPI DDP_CBStringExact(
CDataExchange* pDX,
int id,
CString& member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID de recurso do controle da caixa de combinação associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade do controle a ser trocado com a cadeia de caracteres da caixa de combinação especificada pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_CBStringExact
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_Check
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor da propriedade com o controle da caixa de seleção da página de propriedades associada.
void AFXAPI DDP_Check(
CDataExchange* pDX,
int id,
int & member,
LPCSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID de recurso do controle da caixa de seleção associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade do controle a ser trocado com o controle da caixa de seleção especificado pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_Check
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_LBIndex
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor inteiro de uma propriedade com o índice da seleção atual em uma caixa de listagem na página de propriedades.
void AFXAPI DDP_LBIndex(
CDataExchange* pDX,
int id,
int& member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID do recurso do controle da caixa de listagem associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade da propriedade de controle a ser trocada com a cadeia de caracteres da caixa de listagem especificada pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_LBIndex
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_LBString
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor de uma propriedade de cadeia de caracteres com a seleção atual em uma caixa de listagem na página de propriedades.
void AFXAPI DDP_LBString(
CDataExchange* pDX,
int id,
CString& member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID do recurso do controle da caixa de listagem associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade da propriedade de controle a ser trocada com a cadeia de caracteres da caixa de listagem especificada pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_LBString
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_LBStringExact
Chame essa função na função DoDataExchange
da página de propriedades para sincronizar o valor de uma propriedade de cadeia de caracteres que corresponde exatamente à seleção atual em uma caixa de listagem na página da propriedades.
void AFXAPI DDP_LBStringExact(
CDataExchange* pDX,
int id,
CString& member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID do recurso do controle da caixa de listagem associado à propriedade de controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade da propriedade de controle a ser trocada com a cadeia de caracteres da caixa de listagem especificada pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_LBStringExact
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_PostProcessing
Chame essa função na função DoDataExchange
da página de propriedades para concluir a transferência de valores da propriedade da página de propriedades para o controle quando os valores da propriedade estiverem sendo salvos.
void AFXAPI DDP_PostProcessing(CDataExchange * pDX);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
Comentários
Essa função deve ser chamada depois que todas as funções de troca de dados forem concluídas. Por exemplo:
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
Cabeçalho afxctl.h
DDP_Radio
Chame essa função na função DoPropExchange
do controle para sincronizar o valor da propriedade com o controle do botão de opção da página de propriedades associada.
void AFXAPI DDP_Radio(
CDataExchange* pDX,
int id,
int & member,
LPCTSTR pszPropName);
Parâmetros
pDX
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID de recurso do controle do botão de opção associado à propriedade do controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade do controle a ser trocado com o controle de botão de opção especificado pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_Radio
correspondente.
Requisitos
Cabeçalho afxctl.h
DDP_Text
Chame essa função na função DoDataExchange
do controle para sincronizar o valor da propriedade com o controle da página de propriedades associada.
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
Ponteiro para um objeto CDataExchange
. A estrutura fornece esse objeto para estabelecer o contexto da troca de dados, incluindo sua direção.
id
A ID de recurso do controle associado à propriedade do controle especificada por pszPropName.
member
A variável de membro associada ao controle da página de propriedades especificado pela id e pela propriedade especificada por pszPropName.
pszPropName
O nome da propriedade do controle a ser trocado com o controle especificado pela id.
Comentários
Essa função deve ser chamada antes da chamada de função DDX_Text
correspondente.
Requisitos
Cabeçalho afxctl.h
BEGIN_PROPPAGEIDS
Inicia a definição da lista de IDs da página de propriedades do controle.
BEGIN_PROPPAGEIDS(class_name, count)
Parâmetros
class_name
O nome da classe do controle para a qual as páginas de propriedades estão sendo especificadas.
count
O número de páginas de propriedades usadas pela classe do controle.
Comentários
No arquivo de implementação (.cpp) que define as funções membro para sua classe, inicie a lista de páginas de propriedades com a macro BEGIN_PROPPAGEIDS e, em seguida, adicione entradas de macro para cada uma de suas páginas de propriedades e conclua a lista de páginas de propriedades com a macro END_PROPPAGEIDS.
Para mais informações sobre páginas de propriedades, confira o artigo Controles ActiveX: Páginas de propriedades.
Requisitos
Cabeçalho afxctl.h
END_PROPPAGEIDS
Encerra a definição da lista de IDs da página de propriedades.
END_PROPPAGEIDS(class_name)
Parâmetros
class_name
O nome da classe do controle que possui a página de propriedades.
Requisitos
Cabeçalho afxctl.h
PROPPAGEID
Adiciona uma página de propriedades para uso do controle OLE.
PROPPAGEID(clsid)
Parâmetros
clsid
A ID exclusiva da classe de uma página de propriedades.
Comentários
Todas as macros PROPPAGEID devem ser colocadas entre as macros BEGIN_PROPPAGEIDS e END_PROPPAGEIDS no arquivo de implementação do controle.
Requisitos
Cabeçalho afxctl.h