Partilhar via


Especificando propriedade páginas

Quando você cria um controle ActiveX, geralmente você desejará associá-lo a páginas de propriedades que podem ser usadas para conjunto as propriedades do seu controle.Recipientes de controle usam o ISpecifyPropertyPages interface para descobrir quais páginas de propriedade podem ser usadas para conjunto as propriedades do controle.Você precisará implementar esta interface no seu controle.

Para implementar ISpecifyPropertyPages usando ATL, siga estas etapas:

  1. Derivar a classe de ISpecifyPropertyPagesImpl.

  2. Adicione uma entrada para ISpecifyPropertyPages da sua classe COM MAP.

  3. Adicionar um PROP_PAGE entrada para o MAP de propriedade de cada página associada com seu controle.

Observação:

Ao gerar um controle padrão usando o Assistente de controle do ATL, só será necessário adicionar o PROP_PAGE entradas para o MAP de propriedade. O assistente gera o código necessário para as outras etapas.

Recipientes bem comportados exibirá sistema autônomo páginas de propriedade especificada na mesma ordem que o PROP_PAGE entradas no MAP de propriedade. Em geral, você deve colocar entradas de propriedade padrão de página após as entradas para as páginas personalizadas no MAP de propriedade, para que os usuários ver as páginas específicas para seu controle primeiro.

Exemplo

A classe para um controle de calendário a seguir usa o ISpecifyPropertyPages interface para informar ao recipientes que suas propriedades podem ser definidas usando uma página de data personalizado e a página em cores de ações.

class ATL_NO_VTABLE CMyCtrl :
   OtherInterfaces
   public ISpecifyPropertyPagesImpl<CMyCtrl>
{
public:

BEGIN_COM_MAP(CMyCtrl)
   OtherComMapEntries
   COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
END_COM_MAP()

BEGIN_PROP_MAP(CMyCtrl)
   OtherPropMapEntries
   PROP_PAGE(CLSID_DatePage)
   PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()

   // Remainder of class declaration omitted.

Consulte também

Tarefas

Exemplo de ATLPages: Implementa uma página de propriedade usando IPropertyPageImpl

Conceitos

ATL COM propriedade Pages