Compartilhar via


Controles MFC ActiveX: Páginas de propriedade

Páginas de propriedades permitem que um usuário do controle ActiveX exibir e alterar propriedades do controle ActiveX.Essas propriedades são acessadas chamando uma caixa de diálogo de propriedades do controle, que contém uma ou mais páginas de propriedade que fornecem uma interface gráfica personalizada para exibir e editar as propriedades do controle.

Páginas de propriedade do controle ActiveX são exibidas de duas maneiras:

  • Quando verbo de propriedades do controle (OLEIVERB_PROPERTIES) é chamado, o controle abre uma caixa de diálogo modal propriedade que contém páginas de propriedades do controle.

  • O contêiner pode exibir sua própria caixa de diálogo sem janela restrita que mostra as páginas de propriedades do controle selecionado.

A caixa de diálogo de propriedades (ilustrada na figura a seguir) consiste em uma área para exibir a página atual da propriedade, guias para alternar entre as páginas de propriedade e uma coleção de botões que executam tarefas comuns como, por exemplo, fechar a caixa de diálogo de página de propriedade, cancelar as alterações feitas, ou aplicar imediatamente quaisquer alterações para o controle de ActiveX.

Caixa de diálogo Propriedades

Caixa de diálogo de propriedades de Circ3

Este artigo aborda tópicos relacionados ao uso de páginas de propriedade em um controle ActiveX.Eles incluem:

  • Implementando a página de propriedade padrão para um controle ActiveX

  • Adicionar controles a uma página de propriedade

  • Personalizando a função DoDataExchange

Para obter mais informações sobre como usar páginas de propriedade em um controle ActiveX, consulte os seguintes artigos:

Para obter informações sobre o uso de folhas de propriedades em um aplicativo MFC diferente do controle ActiveX, consulte Folhas de propriedade (MFC).

Implementando a página de propriedade padrão

Se você usar o Assistente de controle de ActiveX para criar seu projeto de controle, o Assistente de controle de ActiveX fornece uma classe de página de propriedade padrão para o controle derivado de Classe COlePropertyPage.Inicialmente, esta página de propriedades está em branco, mas você pode adicionar qualquer controle de caixa de diálogo ou um conjunto de controles a ele.Porque o Assistente de controle de ActiveX cria a classe de página apenas uma propriedade por padrão, classes de página de propriedades adicionais (derivada da COlePropertyPage) deve ser criado usando o modo de exibição de classe.Para obter mais informações sobre este procedimento, consulte Controles de ActiveX MFC: Adicionando propriedades personalizadas de outra página.

Implementando uma propriedade de página (nesse caso, o padrão) é um processo de três etapas:

Para implementar uma página de propriedade

  1. Adicionar um COlePropertyPage-classe derivada para o projeto de controle.Se o projeto foi criado usando o Assistente de controle de ActiveX (como no caso), a classe de página de propriedade padrão já existe.

  2. Use o editor de diálogo para adicionar controles ao modelo de página de propriedade.

  3. Personalizar o DoDataExchange função do COlePropertyPage-derivado classe para a troca de valores entre o controle de página de propriedade e o ActiveX.

Por exemplo, fins, os procedimentos a seguir usam um controle simples (chamado "Sample").Exemplo foi criado usando o Assistente de controle de ActiveX e contém apenas a propriedade legenda ações.

Adicionar controles a uma página de propriedade

Para adicionar controles a uma página de propriedade

  1. Com seu projeto de controle aberto, abra o modo de exibição de recurso.

  2. Clique duas vezes o caixa de diálogo ícone de diretório.

  3. Abrir o IDD_PROPPAGE_SAMPLE caixa de diálogo.

    Assistente de controle ActiveX acrescenta o nome do projeto ao final da caixa de diálogo identificação, nesse caso, exemplo.

  4. Arraste e solte o controle selecionado da Toolbox para a área da caixa de diálogo.

  5. Neste exemplo, um texto de rótulo de controle "legenda:" e um controle de caixa de edição com um IDC_CAPTION identificador são suficientes.

  6. Clique em Salvar na barra de ferramentas para salvar suas alterações.

Agora que a interface do usuário tiver sido modificada, você precisa vincular a caixa de edição com a propriedade Caption.Isso é feito na seção a seguir, editando o CSamplePropPage::DoDataExchange função.

Personalizando a função DoDataExchange

Página de propriedades CWnd::DoDataExchange função permite vincular valores de página de propriedade com os valores reais das propriedades no controle.Para estabelecer links, você deve mapear os campos de página de propriedade adequadas às suas propriedades de controle respectivo.

Esses mapeamentos são implementados usando a página de propriedades DDP_ funções.O DDP_ funções funcionam como o DDX_ funções usadas no padrão caixas de diálogo MFC, com uma exceção.Com a referência a uma variável de membro DDP_ funções levam o nome da propriedade do controle.A seguir é uma entrada típica do DoDataExchange função para uma página de propriedades.

DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));

Essa função associa a página de propriedades m_caption variável de membro com a legenda, usando o DDP_TEXT função.

Depois de ter o controle de página de propriedade inserido, você precisa estabelecer um vínculo entre o controle de página de propriedade, IDC_CAPTION, e a propriedade de controle real, legenda, usando o DDP_Text funcionar conforme descrito acima.

Páginas de propriedade (MFC)estão disponíveis para outros tipos de controle de caixa de diálogo, como caixas de seleção, botões de opção e caixas de listagem.A tabela abaixo lista o conjunto inteiro da página de propriedade DDP_ funções e suas finalidades:

Funções de página de propriedade

Nome da função

Use esta função para vincular

DDP_CBIndex

Índice da seqüência de caracteres selecionada em uma caixa de combinação com uma propriedade de controle.

DDP_CBString

Seqüência de caracteres selecionada em uma caixa de combinação com uma propriedade de controle.Seqüência de caracteres selecionada pode começar com as mesmas letras como o valor da propriedade mas não precisa coincidi-lo totalmente.

DDP_CBStringExact

Seqüência de caracteres selecionada em uma caixa de combinação com uma propriedade de controle.A seqüência selecionada e o valor da propriedade string devem coincidir exatamente.

DDP_Check

Uma caixa de seleção com uma propriedade de controle.

DDP_LBIndex

Índice da seqüência de caracteres selecionada em uma caixa de listagem com uma propriedade de controle.

DDP_LBString

Seqüência de caracteres selecionada em uma caixa de listagem com uma propriedade de controle.Seqüência de caracteres selecionada pode começar com as mesmas letras como o valor da propriedade mas não precisa coincidi-lo totalmente.

DDP_LBStringExact

Seqüência de caracteres selecionada em uma caixa de listagem com uma propriedade de controle.A seqüência selecionada e o valor da propriedade string devem coincidir exatamente.

DDP_Radio

Um botão de rádio com uma propriedade de controle.

DDP_Text

Texto com uma propriedade de controle.

Consulte também

Referência

Classe COlePropertyPage

Conceitos

Controles de ActiveX do MFC