Sdílet prostřednictvím


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
Sejf pro skriptování CATID_Sejf ForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Sejf pro inicializaci CATID_Sejf ForInitializing {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
Sejf pro skriptování CATID_Sejf ForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Sejf pro inicializaci CATID_Sejf ForInitializing {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()

Viz také

Makra