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:
Os controles ActiveX MFC: Usando as ações propriedade páginas
Observação: É altamente recomendável que nova propriedade de páginas está de acordo com o dimensionar padrão para páginas de propriedades do controle ActiveX.A propriedade das ações de imagem e cor páginas unidades de diálogo medida 250 x 62 (DLU).A fonte padrão página de propriedades é 250 x 110 DLUs .O padrão página de propriedades criado pelo Assistente de controle ActiveX usa DLU 250 x 62 padrão .
Para inserir um novo modelo de página de propriedades em seu projeto
Com seu projeto de controle em aberto, abra o modo de exibição de recurso no espaço de trabalho do projeto.
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.
expandir o Caixa de diálogo nó e selecionar IDD_OLE_PROPPAGE_SMALL.
clicar New Para adicionar o recurso ao seu projeto.
selecionar o novo modelo de página de propriedades para atualizar a janela Propriedades.
Digite um novo valor para o IDpropriedade .Este exemplo usa IDD_PROPPAGE_NEWPAGE.
clicar Salvar na barra de ferramentas.
Para associar o novo modelo de uma classe
Abra classe View.
clicar com o botão direito do mouse na Modo de Exibição de Classe para em em aberto o menu de atalho.
No menu de atalho, clicar Adicionar e, em seguida, clicar Adicionar classe.
Isso abre o Adicionar classe caixa de diálogo.
clicar duas vezes o Classe do MFC modelo.
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.)
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.
No Classe base box, selecionar COlePropertyPage.
No ID da caixa de diálogo caixa de seleção IDD_PROPPAGE_NEWPAGE.
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
Com o seu projeto de controle em aberto, abra modo de exibição de recurso.
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.
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.
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.
Repetir as etapas 3 e 4 usando IDS_SAMPLE_ADDPPG_CAPTION para a ID e a "Página de propriedades adicionais" para a legenda.
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); }
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.