Os controles ActiveX MFC: propriedade Páginas
propriedade páginas permitir que um usuário de controle ActiveX exibir e alterar as propriedades do controle ActiveX.Essas propriedades são acessadas, chamando uma caixa de diálogo de propriedades de controle, que contém um ou mais páginas de propriedades que fornecem uma interface gráfica personalizada para exibir e editar as propriedades do controle.
Controle ActiveX propriedade páginas são exibidas de duas maneiras:
Quando verbo de propriedades do controle (OLEIVERB_PROPERTIES) é chamado, o controle abre uma janela restrita propriedade caixa de diálogo que contém o controle propriedade páginas.
O contêiner pode exibir sua própria caixa de diálogo sem janela restrita que mostre o propriedade páginas do controle selecionado.
A caixa de diálogo de propriedades (ilustrada na figura a seguir) consiste em uma área para exibir a página corrente da propriedade, guias para alternar entre páginas de propriedades e um conjunto de botões que executam tarefas comuns, sistema autônomo fechar a caixa de diálogo de página de propriedades, cancelar sistema autônomo alterações feitas, ou aplicar imediatamente sistema autônomo alterações no controle ActiveX.
Caixa de diálogo de propriedades
Este artigo aborda tópicos relacionados ao uso propriedade páginas em um controle ActiveX.Eles incluem:
Implementando o padrão página de propriedades para um controle ActiveX
Adicionando controles para uma propriedade página
Personalizando a função DoDataExchange
Para obter mais informações sobre como usar propriedade páginas em um controle ActiveX, consulte os seguintes artigos:
Os controles ActiveX MFC: Adicionando outra personalizada página de propriedades
Os controles ActiveX MFC: Usando as ações propriedade páginas
Para obter informações sobre como usar propriedade planilhas em um aplicativo MFC diferente de um controle ActiveX, consulte Folhas de propriedade (MFC).
Implementando a página de propriedades padrão
Se você usar o Assistente de controle ActiveX para criar seu projeto de controle, o Assistente para controle de ActiveX fornece uma classe de página de propriedades padrão para o controle derivado de Classe COlePropertyPage. Inicialmente, isso página de propriedades fica em branco, mas você pode adicionar qualquer controle de caixa de diálogo ou conjunto de controles a ela.Porque controle ActiveX cria apenas uma propriedade classe de página por padrão, classes de página de propriedades adicionais (também derivadas de COlePropertyPage) deve ser criado usando o modo de exibição de classe. Para obter mais informações sobre esse procedimento, consulte Os controles ActiveX MFC: Adicionando outra personalizada página de propriedades.
Implementando um página de propriedades (no caso, o padrão) é um processo de três etapas:
Para implementar um página de propriedades
Adicionar um COlePropertyPage-classe derivada para o projeto de controle. Se o projeto foi criado usando o Assistente de controle ActiveX (sistema autônomo no caso), a classe padrão da página de propriedades já existe.
Use o editor da caixa de diálogo para adicionar controles ao modelo de página de propriedades.
Personalizar o DoDataExchange função dos COlePropertyPage-derivado da classe para trocar valores entre o controle de página de propriedades e o controle ActiveX.
Por exemplo, fins, os procedimentos a seguir usar um controle simples (chamado "Sample").Exemplo foi criado usando o Assistente para controle ActiveX de ActiveX e contém somente a propriedade legenda ações.
Adicionando controles a um página de propriedades
Para adicionar controles a um página de propriedades
Com o seu projeto de controle em aberto, abra modo de exibição de recurso.
clicar duas vezes o Caixa de diálogoícone de pasta .
Abra o IDD_PROPPAGE_SAMPLE caixa de diálogo.
O Assistente de controle ActiveX acrescenta o nome do projeto ao participante da caixa de diálogo ID, nesse caso, amostra.
arrastar e solte o controle selecionado da Toolbox para a área da caixa de diálogo.
Neste exemplo, um texto de rótulo controle "legenda:" e um controle de caixa de edição com um IDC_CAPTION identificador são suficientes.
clicar 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 legenda.Para fazer isso na seção a seguir, editando o CSamplePropPage::DoDataExchange função.
Personalizando a função DoDataExchange
Your página de propriedades CWnd::DoDataExchange função permite que você vincule página de propriedades valores com os valores real das propriedades no controle. Para estabelecer links, você deve mapear os campos de página de propriedades adequadas às suas propriedades de controle respectivo.
Esses mapeamentos são implementados usando o página de propriedades DDP_ funções.The DDP_ funções funcionam como a DDX_ funções usadas no padrão caixas de diálogo MFC, com uma exceção.Juntamente com a referência a uma variável de membro, DDP_ funções levam o nome de propriedade do controle.A seguir é uma entrada típica no DoDataExchange função para um página de propriedades.
DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));
Esta função associa m_caption variável de membro com a legenda usando o DDP_TEXT função.
Depois de ter o controle de página de propriedades inserido, você precisa estabelecer um vínculo entre o controle de página de propriedades, IDC_CAPTION, e a propriedade do controle real, legenda, usando o DDP_Textfunção conforme descrito acima.
Páginas de propriedades (MFC) estão disponível para outros tipos de controle de caixa de diálogo, sistema autônomo caixas de seleção, botões de opção, e lista caixas. A tabela abaixo mostra a lista de todo o conjunto de propriedade página DDP_ funções e suas finalidades:
Funções de página de propriedades
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 do controle. |
DDP_CBString |
A seqüência de caracteres selecionada em uma caixa de combinação com uma propriedade do controle.A seqüência de caracteres selecionada pode começar com sistema autônomo mesmas letras sistema autônomo o valor da propriedade mas não precisa coincidi-lo totalmente. |
DDP_CBStringExact |
A seqüência de caracteres selecionada em uma caixa de combinação com uma propriedade do controle.A seqüência de caracteres selecionada e o valor de seqüência de caracteres da propriedade devem coincidir exatamente. |
DDP_Check |
Uma caixa de seleção com uma propriedade do controle. |
DDP_LBIndex |
Índice da seqüência de caracteres selecionada em um lista caixa com uma propriedade do controle. |
DDP_LBString |
A seqüência de caracteres selecionada em uma caixa de listagem com uma propriedade do controle.A seqüência de caracteres selecionada pode começar com sistema autônomo mesmas letras sistema autônomo o valor da propriedade mas não precisa coincidi-lo totalmente. |
DDP_LBStringExact |
A seqüência de caracteres selecionada em uma caixa de listagem com uma propriedade do controle.A seqüência de caracteres selecionada e o valor de seqüência de caracteres da propriedade devem coincidir exatamente. |
DDP_Radio |
Um botão de opção com uma propriedade do controle. |
DDP_Text |
Texto com uma propriedade do controle. |