Перечисление OLEMISC (oleidl.h)

Описывает различные характеристики объекта или класса объектов . Контейнер может вызвать метод IOleObject::GetMiscStatus , чтобы определить набор битов OLEMISC для объекта. Значения, указанные в записи CLSID\MiscStatus сервера объектов в базе данных регистрации, основаны на перечислении OLEMISC . Эти константы также используются в элементе dwStatus структуры OBJECTDESCRIPTOR .

Синтаксис

typedef enum tagOLEMISC {
  OLEMISC_RECOMPOSEONRESIZE = 0x1,
  OLEMISC_ONLYICONIC = 0x2,
  OLEMISC_INSERTNOTREPLACE = 0x4,
  OLEMISC_STATIC = 0x8,
  OLEMISC_CANTLINKINSIDE = 0x10,
  OLEMISC_CANLINKBYOLE1 = 0x20,
  OLEMISC_ISLINKOBJECT = 0x40,
  OLEMISC_INSIDEOUT = 0x80,
  OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
  OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
  OLEMISC_INVISIBLEATRUNTIME = 0x400,
  OLEMISC_ALWAYSRUN = 0x800,
  OLEMISC_ACTSLIKEBUTTON = 0x1000,
  OLEMISC_ACTSLIKELABEL = 0x2000,
  OLEMISC_NOUIACTIVATE = 0x4000,
  OLEMISC_ALIGNABLE = 0x8000,
  OLEMISC_SIMPLEFRAME = 0x10000,
  OLEMISC_SETCLIENTSITEFIRST = 0x20000,
  OLEMISC_IMEMODE = 0x40000,
  OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
  OLEMISC_WANTSTOMENUMERGE = 0x100000,
  OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
} OLEMISC;

Константы

 
OLEMISC_RECOMPOSEONRESIZE
Значение: 0x1
Если контейнер изменяет размер пространства, выделенного для отображения одного из представлений объекта, объект требует переделать это представление. Это значит, что при изменении размера, объект хочет не только отмасштабировать свое изображение. Если этот бит задан, контейнер должен принудительно вернуть объект в состояние выполнения и вызвать IOleObject::SetExtent с новым размером.
OLEMISC_ONLYICONIC
Значение: 0x2
Объект не имеет полезного представления содержимого за исключением его значка. С точки зрения пользователя флажок Отображать как значок проверка (в диалоговом окне Специальная вставка) для этого объекта всегда должен быть установлен и не должен быть снят. Обратите внимание, что в таком объекте все равно должен присутствовать аспект рисуемого содержимого; он будет выглядеть так же, как и его знаковое представление.
OLEMISC_INSERTNOTREPLACE
Значение: 0x4
Объект инициализировал себя на основании данных текущего выделения контейнера. Контейнеры должны изучить этот бит после вызова IOleObject::InitFromData для инициализации объекта из текущего выделенного фрагмента. Если установлено, контейнер должен вставить объект помимо текущего выделения.ю а не заменять текущее выделение. Если этот элемент не задан, вставляемый объект заменяет собой текущее выделение.
OLEMISC_STATIC
Значение: 0x8
Этот объект - статический объект, который содержит только представление; он не содержит собственных данных. См . раздел OleCreateStaticFromData.
OLEMISC_CANTLINKINSIDE
Значение: 0x10
Данный объект не может быть источником связи, который активирует объект, будучи привязанным. Если выбран объект и он копируется в буфер обмена, контейнер объекта может предложить соединение в процессе передачи данных из буфера обмена, которое в привязанном виде должно подключаться снаружи объекта. Пользователь увидел бы объект, выбранный в контейнере, не открытый для редактирования. Вместо этого контейнер может отказаться предоставлять источник ссылки при переносе объектов с этим набором битов. Примеры объектов, в которых этот бит задан, — объекты OLE1, статические объекты и связи.
OLEMISC_CANLINKBYOLE1
Значение: 0x20
Этот объект может быть связан с помощью контейнеров OLE 1. Этот бит используется в элементе dwStatus структуры OBJECTDESCRIPTOR, передаваемой с помощью форматов дескриптора object и link source. Объект может быть связан с помощью контейнеров OLE 1, если он является документом, файлом или набором данных в файле без имени. Внедренные объекты или псевдо-объекты, содержащиеся в внедренном объекте, не могут быть связаны с контейнерами OLE 1 (т. е. контейнеры OLE 1 не могут связываться с источниками, для которых при привязке требуется запустить несколько серверов объектов.
OLEMISC_ISLINKOBJECT
Значение: 0x40
Этот объект - объект ссылки. Этот бит важен для OLE 1 и устанавливается объектом соединения OLE 2; приложения объектов не имеют необходимость задавать этот бит.
OLEMISC_INSIDEOUT
Значение: 0x80
Данный объект допускает активацию "на месте", не требуя установки меню и панелей инструментов для запуска. Несколько таких объектов могут быть включены одновременно. Некоторые контейнеры, такие как формы, могут предпочесть активировать такие объекты автоматически.
OLEMISC_ACTIVATEWHENVISIBLE
Значение: 0x100
Этот бит задается только при установке OLEMISC_INSIDEOUT и указывает, что этот объект предпочитает быть активирован, когда он он видим. Некоторые Контейнеры всегда могут игнорировать эту подсказка.
OLEMISC_RENDERINGISDEVICEINDEPENDENT
Значение: 0x200
Данный объект не учитывает целевых устройств. Во всех случаях данные представления будут одинаковыми.
OLEMISC_INVISIBLEATRUNTIME
Значение: 0x400
Это значение используется с элементами управления. Указывает, что у элемента управления нет пользовательского интерфейса времени выполнения, но он будет виден во время разработки. Например, элемент управления "таймер", который периодически инициирует определенное событие, не отображается во время выполнения, но ему необходим пользовательский интерфейс времени конструирования, чтобы конструктор форм мог задавать период события и другие свойства.
OLEMISC_ALWAYSRUN
Значение: 0x800
Это значение используется с элементами управления. Сообщает контейнеру, что этот элемент управления должен выполняться всегда. В результате контейнер должен вызывать OleRun при загрузке или создании объекта .
OLEMISC_ACTSLIKEBUTTON
Значение: 0x1000
Это значение используется с элементами управления. Указывает, что элемент управления похож на кнопку в том смысле, что он учитывает и выполняет внешнее свойство контейнера DisplayAsDefault.
OLEMISC_ACTSLIKELABEL
Значение: 0x2000
Это значение используется с элементами управления. Отмечает элемент управления как подпись к элементу управления, следующему за ним в форме. Нажатие клавиши, назначенной для подписи, активирует следующий элемент управления.
OLEMISC_NOUIACTIVATE
Значение: 0x4000
Это значение используется с элементами управления. Указывает, что элемент управления не имеет активного состояния пользовательского интерфейса, т. е. не требует размещенных инструментов, общих меню или ускорителей. Также означает, что элементу управления никогда не требуется фокус.
OLEMISC_ALIGNABLE
Значение: 0x8000
Это значение используется с элементами управления. Указывает, что элемент управления понимает, как выполнить выравнивание самого себя в отображаемом прямоугольнике, используя соответствующие свойства выравнивания (слева, по центру, справа).
OLEMISC_SIMPLEFRAME
Значение: 0x10000
Это значение используется с элементами управления. Указывает, что элемент управления является простой группировкой других элементов управления и только передает сообщения Windows контейнеру элементов управления, который управляет формой. Для элементов управления такого рода требуется реализация ISimpleFrameSite на сайте контейнера.
OLEMISC_SETCLIENTSITEFIRST
Значение: 0x20000
Это значение используется с элементами управления. Он указывает, что элемент управления хочет использовать IOleObject::SetClientSite в качестве функции инициализации, даже до вызова IPersistStreamInit::InitNew или IPersistStorage::InitNew. Это позволяет элементу управления получить доступ к свойствам окружения контейнера перед загрузкой данных из постоянного хранилища. Обратите внимание, что текущие реализации OleCreate, OleCreateFromData, OleCreateFromFile, OleLoad и обработчик по умолчанию не понимают это значение. Контейнеры управления, которые должны учитывать это значение, должны в данный момент реализовать собственные версии этих функций, чтобы задать правильную последовательность инициализации элемента управления.
OLEMISC_IMEMODE
Значение: 0x40000
Является устаревшей. Элемент управления, работающий с системным компонентом метода ввода Редактор (IME), может управлять состоянием IME с помощью свойства IMEMode, а не использовать это значение в перечислении OLEMISC. Компонент IME можно использовать для ввода информации в азиатской кодировке с помощью обычной клавиатуры. Японский IME, например позволяет ввести слово "суши" с обычной клавиатуры и при ударяете клавиши пробел, компонента IME конвертирует слово в соответствующее слово алфавита Кандзи или предложит возможные варианты. Значение OLEMISC_IMEMODE ранее использовалось для пометки элемента управления как совместимого с режимом IME системы управления.
OLEMISC_IGNOREACTIVATEWHENVISIBLE
Значение: 0x80000
Чтобы новые элементы управления ActiveX работали в старом контейнере, может потребоваться, чтобы у элемента управления было задано значение OLEMISC_ACTIVATEWHENVISIBLE. Однако в более новом контейнере, который понимает и использует IPointerInactive, элемент управления не хочет активироваться "на месте", когда он становится видимым. Чтобы разрешить элементу управления работать с обоими типами контейнеров, элемент управления может установить это значение. Затем контейнер не учитывает OLEMISC_ACTIVATEWHENVISIBLE и не активирует элемента управления "на месте", когда он становится видимым.
OLEMISC_WANTSTOMENUMERGE
Значение: 0x100000
Элемент управления, который может объединить его меню со своим контейнером, задает это значение.
OLEMISC_SUPPORTSMULTILEVELUNDO
Значение: 0x200000
Элемент управления, поддерживающий многоуровневый откат, задает это значение.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть oleidl.h

См. также раздел

IOleObject::GetMiscStatus

OBJECTDESCRIPTOR