Os controles ActiveX MFC: Adicionando outra personalizada página de propriedades

Ocasionalmente, um controle ActiveX têm propriedades mais que razoavelmente podem caber em uma página de propriedades.Nesse caso, você pode adicionar propriedade páginas para o controle ActiveX para exibir essas propriedades.

Este artigo descreve a adição de novas páginas de propriedade a um controle ActiveX que já tenha pelo menos uma página de propriedades.Para obter mais informações sobre a adição de ações de propriedade páginas (fonte, imagem ou cor), consulte o artigo Os controles ActiveX MFC: Usando ações propriedade páginas.

Os procedimentos a seguir, use uma estrutura de controle de ActiveX de amostra criada pelo Assistente de controle ActiveX.Portanto, os nomes de classe e os identificadores são exclusivas para este exemplo.

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

Para inserir um novo modelo de página de propriedades em seu projeto

  1. Com seu projeto de controle em aberto, abra o modo de exibição de recurso no espaço de trabalho do projeto.

  2. clicar com o botão direito do mouse na exibição de recurso para em em aberto o menu de atalho e clique em Adicionar recurso.

  3. expandir o Caixa de diálogo nó e selecionar IDD_OLE_PROPPAGE_SMALL.

  4. clicar New Para adicionar o recurso ao seu projeto.

  5. selecionar o novo modelo de página de propriedades para atualizar a janela Propriedades.

  6. Digite um novo valor para o IDpropriedade .Este exemplo usa IDD_PROPPAGE_NEWPAGE.

  7. clicar Salvar na barra de ferramentas.

Para associar o novo modelo de uma classe

  1. Abra classe View.

  2. clicar com o botão direito do mouse na Modo de Exibição de Classe para em em aberto o menu de atalho.

  3. No menu de atalho, clicar Adicionar e, em seguida, clicar Adicionar classe.

    Isso abre o Adicionar classe caixa de diálogo.

  4. clicar duas vezes o Classe do MFC modelo.

  5. No nome de classe caixa de a Assistente de classes do MFC, digite um nome para a nova classe de caixa de diálogo.(No exemplo, CAddtlPropPage.)

  6. Se você desejar alterar o nome do arquivo, clicar Alteração.Digite os nomes de arquivos de implementação e o cabeçalho ou aceitar os nomes padrão.

  7. No Classe base box, selecionar COlePropertyPage.

  8. No ID da caixa de diálogo caixa de seleção IDD_PROPPAGE_NEWPAGE.

  9. clicar Concluir para criar a classe.

Para permitir que os usuários do controle de acesso a esta nova página de propriedades, faça as seguintes alterações à seção do controle propriedade página IDs de macro (localizada no arquivo de implementação de controle):

BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
   PROPPAGEID(CMyAxUIPropPage::guid)
   PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)

Observe que você deve aumentar o segundo parâmetro do BEGIN_PROPPAGEIDS macro (o página de propriedades contagem) de 1 a 2.

Você também deve modificar o arquivo de arquivo (.CPP) de implementação de controle para incluir o arquivo de cabeçalho (.H) da nova classe de página de propriedades.

A próxima etapa envolve criar dois novos recursos de seqüência de caracteres que irão fornecer um nome de tipo e uma legenda para a nova página de propriedades.

Para adicionar novos recursos de seqüência de caracteres para uma página de propriedades

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

  2. clicar duas vezes o Tabela de seqüência de caracteres pasta e clicar duas vezes em seqüência existente de tabela recurso ao qual você deseja adicionam uma seqüência de caracteres.

    Isso abre a tabela de seqüência de caracteres em uma janela.

  3. selecionar a linha em branco no participante da tabela de seqüência de caracteres de e digite o texto ou a legenda da seqüência de caracteres: Por exemplo, "Additional página de propriedades."

    Isso abre um Propriedades de seqüência de caracteres página de mostrandoLegenda and ID caixas.The Legenda caixa contém a seqüência de caracteres que você digitou.

  4. No ID caixa, selecionar ou digite uma identificação para a seqüência de caracteres.Quando terminar, pressione ENTER.

    Este exemplo usa IDS_SAMPLE_ADDPAGE para o nome do tipo da nova página de propriedades.

  5. Repetir as etapas 3 e 4 usando IDS_SAMPLE_ADDPPG_CAPTION para a ID e a "Página de propriedades adicionais" para a legenda.

  6. No arquivo .CPP da sua classe de página nova propriedade (no exemplo, CAddtlPropPage) modificar o CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry para que IDS_SAMPLE_ADDPAGE é passado por AfxOleRegisterPropertyPageClass, sistema autônomo no exemplo a seguir:

    BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister)
    {
       if (bRegister)
          return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(),
             m_clsid, IDS_SAMPLE_ADDPAGE);
       else
          return AfxOleUnregisterClass(m_clsid, NULL);
    }
    
  7. Modificar o construtor de CAddtlPropPage para que IDS_SAMPLE_ADDPPG_CAPTION passado para o COlePropertyPage construtor, da seguinte maneira:

    CAddtlPropPage::CAddtlPropPage() :
       COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION)
    {
    
    }
    

Depois de ter feito as modificações necessárias recompilar seu projeto e use o contêiner de teste para testar a nova página de propriedades.See Teste de propriedades e eventos com o contêiner de teste para obter informações sobre como acessar o contêiner de teste.

Consulte também

Conceitos

Controles do ActiveX MFC