Partilhar via


Especificando páginas de propriedades

Quando você cria um controle ActiveX, você freqüentemente desejará associá-lo com páginas de propriedades que podem ser usadas para definir as propriedades do controle.Contêiners do controle usando a interface de ISpecifyPropertyPages para descobrir que as páginas de propriedades podem ser usadas para definir as propriedades do controle.Você precisará implementar essa interface no controle.

Para implementar ISpecifyPropertyPages usando ATL, siga as seguintes etapas:

  1. Derivado da classe de ISpecifyPropertyPagesImpl.

  2. Adicione uma entrada para ISpecifyPropertyPages ao mapa COM de sua classe.

  3. Adicione uma entrada de PROP_PAGE no mapa da propriedade para cada página associada com o controle.

ObservaçãoObservação

Para gerar um controle padrão usando Assistente de controle de ATL, você terá que adicionar apenas as entradas de PROP_PAGE no mapa da propriedade.O assistente gera código necessário para as outras etapas.

Os bons contêiner exibirão as páginas de propriedades especificadas na mesma ordem que as entradas de PROP_PAGE na propriedade aponta.Em geral, você deve colocar entradas padrão da página de propriedades após as entradas para suas páginas personalizadas no mapa da propriedade, para que os usuários vejam as páginas específicas para seu primeiro controle.

Exemplo

A seguinte classe para um controle de calendário usa a interface de ISpecifyPropertyPages para instruir o contêiner que suas propriedades podem ser definidas usando uma página personalizado de data e a página conservada em estoque de cor.

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

Conceitos

Páginas de propriedades de ATL COM

exemplo de ATLPages