Поделиться через


Классификация по возможностям компонентов

Категории компонентов можно использовать для отображения подмножества всех установленных компонентов. Каждая категория компонента определяется идентификатором GUID, который называется идентификатором категории (CATID). Каждый CATID содержит список имен с тегами языкового стандарта, доступных для чтения, связанных с ним. Список CATID и имен, доступных для чтения, хранится в известном расположении в реестре.

Например, все компоненты, реализующие функциональные возможности внедрения документов OLE, можно классифицировать в категории компонентов. В прошлом эти объекты были бы определены разделом Insertable в реестре. Для использования категорий компонентов вместо этого в реестр будут добавлены следующие сведения:

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

Каждый класс, реализующий функциональные возможности, соответствующие категории компонентов, содержит идентификатор категории для этой категории в разделе CLSID в реестре. Так как один компонент может поддерживать широкий спектр функциональных возможностей, компоненты могут принадлежать нескольким категориям компонентов. Например, определенный элемент управления OLE может поддерживать все функциональные возможности, необходимые для участия в качестве внедрения документов OLE, привязки данных Microsoft Visual Basic и функций Интернета. Такой элемент управления будет содержать следующие сведения, хранящиеся в его разделе CLSID в реестре:

;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...}
 

С помощью этих сведений контейнер может перечислять элементы управления, установленные в системе, и отображать только те элементы управления, которые поддерживают функциональные возможности, необходимые контейнеру. Использование категорий компонентов позволяет классифицировать компоненты по реализованным функциям компонента.

Связывание значков с категорией

Классификация по возможностям контейнера

Классы и связи по умолчанию

Определение категорий компонентов

Диспетчер категорий компонентов