Specifica delle pagine delle proprietà

Quando si crea un controllo ActiveX, spesso si desidera associarlo alle pagine delle proprietà che possono essere usate per impostare le proprietà del controllo. I contenitori di controlli usano l'interfaccia ISpecifyPropertyPages per scoprire quali pagine delle proprietà possono essere usate per impostare le proprietà del controllo. Sarà necessario implementare questa interfaccia nel controllo.

Per implementare l'uso di ISpecifyPropertyPages ATL, seguire questa procedura:

  1. Derivare la classe da ISpecifyPropertyPagesImpl.

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

  3. Aggiungere una voce PROP_PAGE alla mappa delle proprietà per ogni pagina associata al controllo.

Nota

Quando si genera un controllo standard tramite la Creazione guidata controllo ATL, è necessario aggiungere solo le voci PROP_PAGE alla mappa delle proprietà. La procedura guidata genera il codice necessario per gli altri passaggi.

I contenitori con comportamento corretto visualizzeranno le pagine delle proprietà specificate nello stesso ordine delle voci PROP_PAGE nella mappa delle proprietà. In genere, è consigliabile inserire voci standard della pagina delle proprietà dopo le voci per le pagine personalizzate nella mappa delle proprietà, in modo che gli utenti visualizzino prima le pagine specifiche del controllo.

Esempio

La classe seguente per un controllo calendario usa l'interfaccia ISpecifyPropertyPages per indicare ai contenitori che le relative proprietà possono essere impostate usando una pagina data personalizzata e la pagina colori di magazzino.

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.

Vedi anche

Pagine delle proprietà
Esempio ATLPages