Specificare le pagine delle proprietà

Quando si crea un controllo ActiveX, è spesso necessario associarla alle pagine delle proprietà che possono essere utilizzate per impostare le proprietà del controllo.I contenitori di controlli utilizzano l'interfaccia ISpecifyPropertyPages per verificare che le pagine delle proprietà possono essere utilizzate per impostare le proprietà del controllo.Sarà necessario implementare questa interfaccia nel controllo.

Per implementare ISpecifyPropertyPages utilizzando ATL, effettuare le operazioni seguenti:

  1. Derivare la classe da ISpecifyPropertyPagesImpl.

  2. Aggiungere una voce per ISpecifyPropertyPages alla mappa COM della classe.

  3. Aggiungere una voce PROP_PAGE il mapping di proprietà per ogni pagina associata al controllo.

[!NOTA]

Nel generare un controllo standard utilizzando La creazione guidata controllo ATL, sarà sufficiente aggiungere le voci PROP_PAGE il mapping di proprietà.La procedura guidata genera il codice necessario per gli altri passaggi.

I contenitori ben progettati visualizzare le pagine delle proprietà specificate nello stesso ordine delle voci PROP_PAGE il mapping di proprietà.In genere, è necessario inserire le voci standard della pagina delle proprietà dopo le voci per le pagine personalizzate nel mapping di proprietà, in modo che gli utenti visualizzano le pagine specifiche del controllo prima.

Esempio

La classe seguente per un controllo calendar utilizza l'interfaccia ISpecifyPropertyPages per indicare a contenitori che le proprietà possono essere impostate utilizzando una pagina di oggetto personalizzato e della pagina predefinita di colore.

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.

Vedere anche

Concetti

Pagine delle proprietà COM ATL

Esempio ATLPages