Freigeben über


Festlegen der Eigenschaftenseiten

Wenn Sie ein ActiveX-Steuerelement erstellen, sollten Sie es häufig Eigenschaftenseiten zuordnen, mit denen die Eigenschaften des Steuerelements festgelegt werden können. Steuerelementcontainer verwenden die ISpecifyPropertyPages Schnittstelle, um herauszufinden, welche Eigenschaftenseiten zum Festlegen der Eigenschaften Ihres Steuerelements verwendet werden können. Sie müssen diese Schnittstelle auf Ihrem Steuerelement implementieren.

Führen Sie die folgenden Schritte aus, um die Verwendung von ATL zu implementieren ISpecifyPropertyPages :

  1. Leiten Sie Ihre Klasse von ISpecifyPropertyPagesImpl ab.

  2. Fügen Sie einen Eintrag für ISpecifyPropertyPages die COM-Karte Ihrer Klasse hinzu.

  3. Fügen Sie der Eigenschaftenzuordnung für jede Seite, die Ihrem Steuerelement zugeordnet ist, einen PROP_PAGE Eintrag hinzu.

Hinweis

Beim Generieren eines Standardsteuerelements mithilfe des ATL-Steuerelement-Assistenten müssen Sie nur die PROP_PAGE Einträge zur Eigenschaftenzuordnung hinzufügen. Der Assistent generiert den erforderlichen Code für die anderen Schritte.

Gut verhaltene Container zeigen die angegebenen Eigenschaftenseiten in der gleichen Reihenfolge wie die PROP_PAGE Einträge in der Eigenschaftenzuordnung an. Im Allgemeinen sollten Sie standardeigenschaftenseiteneinträge nach den Einträgen für Ihre benutzerdefinierten Seiten in der Eigenschaftenzuordnung platzieren, sodass Benutzer zuerst die für Ihr Steuerelement spezifischen Seiten sehen.

Beispiel

Die folgende Klasse für ein Kalendersteuerelement verwendet die ISpecifyPropertyPages Schnittstelle, um Containern mitzuteilen, dass ihre Eigenschaften mithilfe einer benutzerdefinierten Datumsseite und der Aktienfarbseite festgelegt werden können.

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.

Siehe auch

Eigenschaftenseiten
ATLPages-Beispiel