Студия/OLE-объект

From SunFlurry wiki
Jump to: navigation, search

OLE-объекты добавляются на форму для расширения функциональности визуального интерфейса (к примеру, для добавления возможности просмотра видео). Нужно понимать, что если на машине оператора, данный OLE-объект не зарегистрирован, он не будет отображен на открываемой форме. OLE-объекты не привязаны к базе данных, но могут иметь свой набор событий, заданный в библиотеке OLE-объекта. При добавлении объекта на форму, Студия показывает диалог добавления объектов, в котором перечислены имя класса и имя файла компонента всех визуальных OLE-объектов, зарегистрированных в системе. Общий вид диалога показан на рис. 2. Для установки новых объектов в систему, обратитесь к документации фирмы Microsoft, либо используйте поиск в Интернет.

OLE-объекты имеют следующие визуальные свойства:

  • Закладка Визуальные:
    • Anchor (якоря) -- задает якоря визуального элемента.
    • Top, Left (координата верхнего левого угла) -- задает координату (в точках) верхнего левого угла элемента относительно начала формы.
    • Width, Height (высота и ширина) -- задает высоту и ширину (в точках) элемента.
    • MaxWidth, MaxHeight (максимальная высота и ширина) -- задает максимальную высоту и ширину (в точках) элемента. Иногда бывает необходимо ограничить увеличение размера элемента вместе с размерами формы, так как излишнее увеличение может ухудшить читаемость и осложнить работу с элементом. К примеру, слишком длинное поле редактирования неудобно для чтения и т.п. Максимальные размеры позволяют ограничить увеличение элементов до приемлемых величин.
    • Layer (слой формы) -- задает слой формы, которому принадлежит текущий элемент. Для описания редактора слоев, см. следующую статью.
    • IsInvisible (невидимость элемента) -- элемент (и его связанных элементы) становится невидимым в рабочем режиме. В режиме редактирования в Студии, элемент по-прежнему отображен.
    • IfResizeWithParentX, IfResizeWithParentY (привязка размеров к группе элементов) -- Особые установки, работающие совместно с MaxWidth и MaxHeight, если последние заданы для группы элементов, на которой находится текущий элемент, его размеры будут привязаны не к самой форме, а к элементу группы. Без такого условия, невозможно было бы использовать MaxWidth и MaxHeight для форм со сложным расположением элементов.
    • Hint (всплывающая подсказка) -- определяет текст всплывающей подсказки при наведении курсора мыши на элемент. Если свойство не задано (пустая строка), подсказка не будет выводиться.
  • Закладка Данные:
    • Name (наименование) -- задает наименование элемента, с помощью которого к нему можно будет обращаться из программных модулей. Если свойства элемента не будут изменяться программно, наименование можно оставить пустым.
    • IfNotInSettings (не сохраняется в установках формы) -- задает режим, когда при сохранении установок (состояния) формы, состояние данного элемента не будет записано совместно с состоянием других элементов. При чтении установок, этот элемент будет всегда иметь значение по умолчанию. Такой флаг удобно устанавливать, к примеру, для таблиц, содержащих расчетную информацию.
  • Закладка OLE предоставляет доступ к простым свойствам OLE-объекта (более сложные свойства необходимо задать программно при загрузке формы). Набор свойств (кроме первого), заданных на этой закладке полностью зависит от конкретного OLE-объекта. Первое свойство OLEObject позволяет выбрать новый OLE-объект в текущем контейнере.
  • Закладка События предоставляет доступ к событиям OLE-объекта. Список и формат работы с событиями зависит от конкретного OLE-объекта, при редактировании события, программа пытается подсказать, какие переменные передаются в тело события и ожидаются для изменения, однако, для более полной информации, всегда смотрите документацию по конкретному объекту. Для более полного описания, см. статью <Событие OLE>.

Редактирование OLE-объекта "на месте"

Редактор форм позволяет осуществлять редактирование OLE-объектов непосредственно внутри их элементов в концепции WYSIWYG. Такой режим поддерживает только небольшое число объектов. Редактирование позволяет изменить свойства OLE-объектов, которые могут быть недоступны в редакторе свойств. При записи изменений в объекте, они сохраняются внутрь формы и используются для текущего OLE-объекта при работе в клиенте. Для инициации редактирования достаточно дважды кликнуть по выбранному OLE-объекту, либо использовать меню правого нажатия мыши пункт "Редактировать". Также меню правого нажатия мыши в подменю "Содержимое объекта" позволяет очищать объект, выбирать новый объект и содержит список особых действий, которые можно совершить над объектом (чаще всего, в списке помещен один пункт "редактировать", но некоторые объекты могут предоставлять больше возможностей).

Для примера возможности редактирования объекта, можно использовать обычно доступный объект "System Monitor Control", показывающий изменяющийся график расхода ресурсов системы.


Дополнительная информация:

  • Для работы со свойствами объектов формы из программы, см. статью Форма.
  • Для работы с OLE-объектом из программы, см. статью Объект OLE.