Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Создание программного интерфейса элемента управления ActiveX
Программный интерфейс ActiveX-элемента — это набор (public) методов, свойств и событий, посредством которых происходит взаимодействие объекта с его собственником, т. е. контейнером, или программой, которая использует этот контейнер.

По умолчанию интерфейс элемента управления ActiveX ограничивается набором методов, свойств и событий, предоставляемых контейнером. Задача разработчика заключается в добавлении новых (custom) свойств и методов, генерации событий и экспозировании, т. е выставлении на обозрение, собственных интерфейсов.

Свойства
Открытые свойства ActiveX-элемента необходимо реализовывать с помощью процедур Property Get и Property Let. Это требование связано с необходимостью извещать Visual Basic посредством вызова метода userControi.Pro-pertychanged при изменении значения свойства пользователем.
Выполнение этого требования необходимо по следующим причинам:
- если не вызвать метод PropertyChanged, то Visual Basic не передаст управление обработчику userControi_WriteProperties для сохранения результатов редактирования в DesignMode и они будут утрачены;
- значение свойства может быть одновременно доступно в нескольких местах, например, в окне Properties и в диалоговом окне Property Pages. Вызов метода PropertyChanged синхронизирует отображаемую информацию;
- если для свойства созданы обе процедуры (Property Get И Property Let), то оно автоматически высвечивается в окне Property. Диалоговое окно Property Attributes меню Tools позволяет установить дополнительные атрибуты свойства.

Сохранение и восстановление состояния объекта
Каждый раз, когда форма загружается для редактирования или исполнения, все встроенные объекты создаются заново. Для сохранения свойств интерфейса элемента управления ActiveX между сеансами редактирования и для инициализации при запуске в RunMode служит механизм Property Persistence. Его реализация связана с тремя событиями: initproperties, ReadProperties и WriteProperties, которые генерируются при размещении нового ActiveX-элемента в форме, считывании и сохранении состояния объекта, соответственно.

 

Обработчики UserControl_WriteProperties И UserControl_ReadProperties получают в качестве параметра объект PropertyBag. Он имеет два метода:
ReadProperty(Name As String, [DefaultValue]). WriteProperty(Name As String, Value, [DefaultValue]).

Используя эти методы, разработчик ActiveX-элемента должен реализовать механизм сохранения и восстановления состояния объекта. В методе WriteProperty аргумент DefaultValue применяется для экономии места при записи. WriteProperty проверяет текущее значение сохраняемого свойства с DefaultValue и при равенстве запись не производит. Рекомендуется для каждого свойства определять константу, равную значению по умолчанию,
И использовать ее При обработке событий InitProperties, WriteProperties И ReadProperties. В UserControl_ReadProperties необходимо предусмотреть проверку на корректность считываемых значений свойств.

     
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru