Partilhar via


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

Confira também

Macros e Globais