Makra kategorií
Tato makra definují mapy kategorií.
Makro | Popis |
---|---|
BEGIN_CATEGORY_MAP | Označí začátek mapy kategorií. |
END_CATEGORY_MAP | Označí konec mapy kategorií. |
IMPLEMENTED_CATEGORY | Označuje kategorie, které jsou implementovány objektem COM. |
REQUIRED_CATEGORY | Označuje kategorie, které jsou požadovány kontejner objektem COM. |
Požadavky
Hlavička: atlcom.h
BEGIN_CATEGORY_MAP
Označí začátek mapy kategorií.
BEGIN_CATEGORY_MAP(theClass)
Parametry
theClass
[v] Název třídy obsahující mapu kategorií.
Poznámky
Mapa kategorií se používá k určení kategorií komponent, které třída MODELU COM implementuje a které kategorie vyžaduje z jeho kontejneru.
Přidejte položku IMPLEMENTED_CATEGORY do mapy pro každou kategorii implementovanou třídou COM. Přidejte do mapy REQUIRED_CATEGORY položku pro každou kategorii, kterou třída vyžaduje k implementaci svých klientů. Označte konec mapy pomocí END_CATEGORY_MAP makra.
Kategorie součástí uvedené v mapě se automaticky zaregistrují při registraci modulu, pokud má třída přidruženou OBJECT_ENTRY_AUTO nebo OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.
Poznámka:
AtL používá správce standardních kategorií součástí k registraci kategorií součástí. Pokud správce není v systému při registraci modulu, registrace proběhne úspěšně, ale kategorie komponent se pro danou třídu nezaregistrují.
Další informace o kategoriích součástí naleznete v tématu Co jsou kategorie komponent a jak fungují v sadě Windows SDK.
Příklad
BEGIN_CATEGORY_MAP(CMyCtrl)
IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()
END_CATEGORY_MAP
Označí konec mapy kategorií.
END_CATEGORY_MAP()
Příklad
Podívejte se na příklad BEGIN_CATEGORY_MAP.
IMPLEMENTED_CATEGORY
Přidejte do mapy kategorií vaší komponenty IMPLEMENTED_CATEGORY makro, abyste určili, že by se měla zaregistrovat jako implementace kategorie identifikované parametrem catID.
IMPLEMENTED_CATEGORY(catID)
Parametry
catID
[v] Konstanta nebo proměnná CATID, která obsahuje globálně jedinečný identifikátor (GUID) pro implementovanou kategorii. Adresa catID se převezmou a přidají do mapy. Výběr kategorií akcií najdete v následující tabulce.
Poznámky
Kategorie komponent uvedených v mapě se automaticky zaregistrují, pokud má třída přidruženou OBJECT_ENTRY_AUTO nebo OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO makro.
Klienti mohou pomocí informací o kategoriích registrovaných pro třídu určit její schopnosti a požadavky, aniž by museli vytvořit instanci.
Další informace o kategoriích součástí naleznete v tématu Co jsou kategorie komponent a jak fungují v sadě Windows SDK.
Výběr kategorií akcií
Popis | Symbol | Identifikátor GUID registru |
---|---|---|
Bezpečné pro skriptování | CATID_SafeForScripting | {7DD95801-9882-11CF-9FA9-00AA006C42C4} |
Bezpečné pro inicializaci | CATID_SafeForInitializing | {7DD95802-9882-11CF-9FA9-00AA006C42C4} |
Zahrnutí jednoduchého webu s rámečkem | CATID_SimpleFrameControl | {157083E0-2368-11cf-87B9-00AA006C8166} |
Jednoduchá datová vazba | CATID_PropertyNotifyControl | {157083E1-2368-11cf-87B9-00AA006C8166} |
Pokročilá datová vazba | CATID_VBDataBound | {157083E2-2368-11cf-87B9-00AA006C8166} |
Ovládací prvky bez oken | CATID_WindowlessObject | {1D06B600-3AE3-11cf-87B9-00AA006C8166} |
Internetové objekty | Ukázkový seznam najdete v části Internetové objekty v sadě Windows SDK. |
Příklad
BEGIN_CATEGORY_MAP(CMyCtrl)
IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()
REQUIRED_CATEGORY
Přidejte do mapy kategorií vaší komponenty REQUIRED_CATEGORY makro, abyste určili, že se má zaregistrovat jako vyžadování kategorie identifikované parametrem catID.
REQUIRED_CATEGORY( catID )
Parametry
catID
[v] Konstanta nebo proměnná CATID, která obsahuje globálně jedinečný identifikátor (GUID) pro požadovanou kategorii. Adresa catID se převezmou a přidají do mapy. Výběr kategorií akcií najdete v následující tabulce.
Poznámky
Kategorie komponent uvedených v mapě se automaticky zaregistrují, pokud má třída přidruženou OBJECT_ENTRY_AUTO nebo OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO makro.
Klienti mohou pomocí informací o kategoriích registrovaných pro třídu určit její schopnosti a požadavky, aniž by museli vytvořit instanci. Například ovládací prvek může vyžadovat, aby kontejner podporoval datové vazby. Kontejner může zjistit, jestli má možnosti potřebné k hostování ovládacího prvku, a to dotazováním správce kategorií pro kategorie, které tento ovládací prvek vyžaduje. Pokud kontejner nepodporuje požadovanou funkci, může odmítnout hostování objektu COM.
Další informace o kategoriích součástí, včetně ukázkového seznamu, naleznete v tématu Co jsou kategorie součástí a jak fungují v sadě Windows SDK.
Výběr kategorií akcií
Popis | Symbol | Identifikátor GUID registru |
---|---|---|
Bezpečné pro skriptování | CATID_SafeForScripting | {7DD95801-9882-11CF-9FA9-00AA006C42C4} |
Bezpečné pro inicializaci | CATID_SafeForInitializing | {7DD95802-9882-11CF-9FA9-00AA006C42C4} |
Zahrnutí jednoduchého webu s rámečkem | CATID_SimpleFrameControl | {157083E0-2368-11cf-87B9-00AA006C8166} |
Jednoduchá datová vazba | CATID_PropertyNotifyControl | {157083E1-2368-11cf-87B9-00AA006C8166} |
Pokročilá datová vazba | CATID_VBDataBound | {157083E2-2368-11cf-87B9-00AA006C8166} |
Ovládací prvky bez oken | CATID_WindowlessObject | {1D06B600-3AE3-11cf-87B9-00AA006C8166} |
Internetové objekty | Ukázkový seznam najdete v části Internetové objekty v sadě Windows SDK. |
Příklad
BEGIN_CATEGORY_MAP(CMyWindow)
REQUIRED_CATEGORY(CATID_InternetAware)
END_CATEGORY_MAP()