Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ocasionalmente, um controle ActiveX terá mais propriedades do que pode caber razoavelmente em uma página de propriedades. Nesse caso, você pode adicionar páginas de propriedades ao controle ActiveX para exibir essas propriedades.
Este artigo discute a adição de novas páginas de propriedades a um controle ActiveX que já tenha pelo menos uma página de propriedades. Para obter mais informações sobre como adicionar páginas de propriedades de estoque (fonte, imagem ou cor), consulte o artigo Controles ActiveX MFC: Usando páginas de propriedades de estoque.
Os procedimentos a seguir usam uma estrutura de controle ActiveX de exemplo criada pelo Assistente de Controle ActiveX. Portanto, os nomes de classe e identificadores são exclusivos para este exemplo.
Para obter mais informações sobre como usar páginas de propriedades em um controle ActiveX, consulte os seguintes artigos:
Controles ActiveX MFC: Usando páginas de propriedades padrão
Observação
É altamente recomendável que as novas páginas de propriedades sigam o padrão de tamanho para páginas de propriedades de controle ActiveX. As páginas de propriedades de imagem padrão e cor medem 250x62 unidades de diálogo (DLU). A página de propriedades da fonte padrão é 250x110 DLUs. A página de propriedades padrão criada pelo Assistente de Controle ActiveX usa o padrão DLU 250x62.
Para inserir um novo modelo de página de propriedades em seu projeto
Com o seu projeto de controle aberto, abra a Visão de Recursos no espaço de trabalho do projeto.
Clique com o botão direito do rato na Vista de Recursos para abrir o menu de atalho e clique em Adicionar Recurso.
Expanda o nó Caixa de Diálogo e selecione IDD_OLE_PROPPAGE_SMALL.
Clique em Novo para adicionar o recurso ao seu projeto.
Selecione o novo modelo de página de propriedades para atualizar a janela Propriedades (no Modo de Exibição de Recurso).
Insira um novo valor para a propriedade ID . Este exemplo usa IDD_PROPPAGE_NEWPAGE.
Clique em Salvar na barra de ferramentas.
Para associar o novo modelo a uma classe
Abrir Visualização de Classe.
Clique com o botão direito do rato na Vista de Classe para abrir o menu de atalho.
No menu de atalho, clique em Adicionar e, em seguida, clique em Adicionar classe.
Isso abre a caixa de diálogo Adicionar classe .
Clique duas vezes no modelo de classe MFC .
Na caixa Nome da classe no Assistente de classe MFC, digite um nome para a nova classe de diálogo. (Neste exemplo,
CAddtlPropPage.)Se pretender alterar os nomes dos ficheiros, clique em Alterar. Digite os nomes dos arquivos de implementação e cabeçalho ou aceite os nomes padrão.
Na caixa Classe base , selecione
COlePropertyPage.Na caixa ID da caixa de diálogo, selecione IDD_PROPPAGE_NEWPAGE.
Clique em Concluir para criar a classe.
Para permitir que os usuários do controle acessem essa nova página de propriedades, faça as seguintes alterações na seção de macro IDs da página de propriedades do controle (localizada no arquivo de implementação do controle):
BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
PROPPAGEID(CMyAxUIPropPage::guid)
PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)
Observe que você deve aumentar o segundo parâmetro da macro BEGIN_PROPPAGEIDS (a contagem da página de propriedades) de 1 para 2.
Você também deve modificar o arquivo de implementação de controle (. CPP) para incluir o cabeçalho (. H) da nova classe de página de propriedades.
A próxima etapa envolve a criação de dois novos recursos de cadeia de caracteres que fornecerão um nome de tipo e uma legenda para a nova página de propriedades.
Para adicionar novos recursos de cadeia de caracteres a uma página de propriedades
Com o seu projeto de controlo aberto, abra a Vista de Recursos.
Clique duas vezes na pasta Tabela de Cadeia de Caracteres e, em seguida, clique duas vezes no recurso de tabela de cadeia de caracteres existente ao qual você deseja adicionar uma cadeia de caracteres.
Isto abre a tabela de strings numa janela.
Selecione a linha em branco no final da tabela de cadeia de caracteres e digite o texto, ou legenda, da cadeia de caracteres: por exemplo, "Página de propriedades adicionais".
Isso abre uma página Propriedades da cadeia de caracteres mostrando as caixas Legenda e ID . A caixa Legenda contém a cadeia de caracteres digitada.
Na caixa ID , selecione ou digite um ID para a cadeia de caracteres. Pressione Enter quando terminar.
Este exemplo usa IDS_SAMPLE_ADDPAGE para o nome do tipo da nova página de propriedades.
Repita as etapas 3 e 4 usando IDS_SAMPLE_ADDPPG_CAPTION para o ID e "Página de propriedades adicionais" para a legenda.
No ficheiro .CPP da sua nova classe de página de propriedades (neste exemplo,
CAddtlPropPage) modifique oCAddtlPropPage::CAddtlPropPageFactory::UpdateRegistrypara que IDS_SAMPLE_ADDPAGE seja passado por AfxOleRegisterPropertyPageClass, como 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); }Modifique o construtor de
CAddtlPropPagepara que IDS_SAMPLE_ADDPPG_CAPTION seja passado para oCOlePropertyPageconstrutor, da seguinte maneira:CAddtlPropPage::CAddtlPropPage() : COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION) { }
Depois de fazer as modificações necessárias, reconstrua seu projeto e use Test Container para testar a nova página de propriedades. Consulte Propriedades e eventos de teste com contêiner de teste para obter informações sobre como acessar o contêiner de teste.