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


Сведения о реестре элементов ActiveX

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

Разделы реестра, связанные с элементами управления, помечены звездочкой в следующем дереве:

HKEY_CLASSES_ROOT
   CLSID
      {control_CLSID}
         ProgID = <identifier>
         InprocServer32 = <filename>.dll
         *DefaultIcon = <filename>.<ext>,resourceID
         *ToolboxBitmap32 = <filename>.<ext>,resourceID
         *Control
         verb
            *n = &Properties...
         *MiscStatus = 0
         TypeLib = {object_typelibID}
         *Version = version_number

Запись DefaultIcon используется для идентификации значка, отображаемого при сворачивании элемента управления на значок. Функция ExtractIcon используется для получения значка из указанного файла .DLL или .EXE.

Запись ToolboxBitmap32 определяет имя модуля и идентификатор ресурса для растрового изображения 16*15, используемого для лица панели инструментов или кнопки панели элементов. Стандартный размер значка Windows слишком велик, чтобы он использовался для этой цели. Эта запись специально поддерживает контейнеры управления с режимом конструктора, в котором один выбирает элементы управления и помещает их в форму, разработанную. Например, в Visual Basic значок элемента управления отображается на панели элементов Visual Basic в режиме конструктора.

Запись Control помечает объект как элемент управления. Эта запись часто используется контейнерами для заполнения диалоговых окон. Контейнер использует этот вложенный ключ для определения того, следует ли включать объект в диалоговое окно, отображающее элементы управления.

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

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

Элементы управления должны иметь команду Properties, OLEIVERB_PROPERTIES, а также любые другие команды, которые они поддерживают. Команда Properties, а также стандартная команда OLEIVERB_PRIMARY глагола указывает элементу управления отобразить его лист свойств. Команда "Свойства" отображается в меню "Свойства" в меню контейнера, когда элемент управления активен. Таким образом, элемент управления может отобразить собственную страницу свойств, которая позволяет пользователю использовать некоторые полезные функции, даже если контейнер не обрабатывает элементы управления.

Элемент управления определяет ключ MiscStatus , описывающий себя потенциальным контейнерам. Биты принимают значения из OLEMISC и элементы управления добавляют несколько значений в это перечисление. Дополнительные сведения см. в значениях перечисления OLEMISC . Клиент может получить эти сведения путем вызова IOleObject::GetMiscStatus без необходимости создания экземпляра элемента управления.

Наконец, версия описывает версию элемента управления, которая должна соответствовать версии библиотеки типов, связанной с этим элементом управления.

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