Udostępnij za pośrednictwem


Określanie stron właściwości

Podczas tworzenia kontrolki ActiveX często warto skojarzyć ją ze stronami właściwości, których można użyć do ustawienia właściwości kontrolki. Kontenery sterujące używają interfejsu ISpecifyPropertyPages , aby dowiedzieć się, które strony właściwości mogą służyć do ustawiania właściwości kontrolki. Ten interfejs należy zaimplementować w kontrolce.

Aby zaimplementować ISpecifyPropertyPages korzystanie z atl, wykonaj następujące czynności:

  1. Utwórz klasę na podstawie klasy ISpecifyPropertyPagesImpl.

  2. Dodaj wpis do ISpecifyPropertyPages mapy COM klasy.

  3. Dodaj wpis PROP_PAGE do mapy właściwości dla każdej strony skojarzonej z kontrolką.

Uwaga

Podczas generowania standardowej kontrolki przy użyciu Kreatora kontrolek ATL trzeba dodać tylko wpisy PROP_PAGE do mapy właściwości. Kreator generuje niezbędny kod dla innych kroków.

Dobrze zachowywane kontenery będą wyświetlać określone strony właściwości w tej samej kolejności co wpisy PROP_PAGE na mapie właściwości. Ogólnie rzecz biorąc, należy umieścić standardowe wpisy strony właściwości po wpisach dla stron niestandardowych na mapie właściwości, aby użytkownicy widzieli strony specyficzne dla kontrolki jako pierwsze.

Przykład

Poniższa klasa dla kontrolki kalendarza używa interfejsu ISpecifyPropertyPages , aby poinformować kontenery, że jego właściwości można ustawić przy użyciu niestandardowej strony daty i strony koloru zapasów.

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.

Zobacz też

Strony właściwości
Przykład ATLPages