Udostępnij przez


Kategoryzowanie według możliwości składników

Kategorie składników mogą służyć do wyświetlania podzestawu wszystkich zainstalowanych składników. Każda kategoria składników jest identyfikowana przez identyfikator GUID, nazywany identyfikatorem kategorii (CATID). Każdy identyfikator CATID ma listę nazw oznaczonych tagami lokalizacji, które są czytelne dla człowieka. Lista identyfikatorów CATID i nazw czytelnych dla człowieka jest przechowywana w dobrze znanej lokalizacji w rejestrze.

Na przykład wszystkie składniki implementujące funkcje osadzania dokumentów OLE można sklasyfikować w kategorii składników. W przeszłości te obiekty mogłyby być zidentyfikowane przez klucz "Insertable" w rejestrze. Aby zamiast tego użyć kategorii składników, do rejestru zostaną dodane następujące informacje:

HKEY_CLASSES_ROOT\Component Categories\{40FC6ED3-2438-11cf-A3DB-080036F12502}
   (Default) = ""
   409 = "Embeddable Objects"

Każda klasa, która implementuje funkcjonalność odpowiadającą kategorii składników, zawiera identyfikator kategorii dla tej kategorii w kluczu CLSID w rejestrze. Ponieważ pojedynczy składnik może obsługiwać szeroką gamę funkcji, składniki mogą należeć do wielu kategorii składników. Na przykład określona kontrolka OLE może obsługiwać wszystkie funkcje wymagane do udziału w osadzaniu dokumentów OLE, powiązaniu danych programu Microsoft Visual Basic i funkcji internetu. Taka kontrolka powinna zawierać w kluczu CLSID w rejestrze następujące informacje:

;The CLSID for "My Super OLE Control" is {12345678-ABCD-4321-0101-00000000000C}HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}\Implemented Categories
;The CATID for "Insertable" is {40FC6ED3-2438-11cf-A3DB-080036F12502} HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}Implemented Categories\{40FC6ED3-2438-11cf-A3DB-080036F12502}
;The CATID for "Control" is {40FC6ED4-2438-11cf-A3DB-080036F12502} HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}Implemented Categories\{40FC6ED4-2438-11cf-A3DB-080036F12502}
;The CATID for an internet aware control is {...CATID_InternetAware...} HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}Implemented Categories\{...CATID_InternetAware...}
 

Dzięki tym informacjom kontener może wyliczać kontrolki zainstalowane w systemie i wyświetlać tylko te kontrolki, które obsługują funkcjonalność wymaganą przez kontener. Użycie kategorii składników umożliwia kategoryzowanie składników przez zaimplementowane funkcje składnika.

Kojarzenie ikon z kategorią

kategoryzowanie według możliwości kontenera

domyślne klasy i skojarzenia

definiowanie kategorii składników

Menedżer kategorii składników