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:
Utwórz klasę na podstawie klasy ISpecifyPropertyPagesImpl.
Dodaj wpis do
ISpecifyPropertyPages
mapy COM klasy.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.