АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Создание элементов управления ActiveX на основе VCL-компонентов

Читайте также:
  1. B. Департаменты и управления функционального характера.
  2. HMI/SCADA – создание графического интерфейса в SCADА-системе Trace Mode 6 (часть 1).
  3. I. Разрушение управления по ПФУ
  4. II. Разработка макета женского исторического костюма в масштабе 1:4 на основе исторического источника
  5. II. Реакции окислительно-восстановительные (с изменением степеней окисления химических элементов)
  6. III. Создание и обработка комплексного информационного объекта в виде презентации с использованием шаблонов.
  7. III. СТРУКТУРА И ОРГАНЫ УПРАВЛЕНИЯ ПРИХОДА
  8. MathCad: понятие массива, создание векторов и матриц.
  9. V. Ключи к искусству управления
  10. V3: Создание советской политической системы. Конституция РСФСР 1918 г.
  11. VI. Педагогические технологии на основе эффективности управления и организации учебного процесса
  12. VII. Педагогические технологии на основе дидактического усовершенствования и реконструирования материала

Как было сказано выше, C++Builder 3 позволяет создавать элементы управления ActiveX на основе VCL-компонентов. Для этой цели используется библиотека Microsoft ATL (Active Template Library), являющаяся на сегодняшний день индустриальным стандартом и позволяющая создавать элементы ActiveX, представляющие собой скомпилированный код и не требующие дополнительных run-time-библиотек для их выполнения. Процесс создания такого элемента управления весьма прост.

Для создания элемента управления ActiveX следует выбрать из репозитария объектов страницу ActiveX и далее - элемент ActiveX Control.

Далее следует заполнить появившуюся диалоговую панель:

Рис.1. Выбор имени ActiveX, имен модулей и базового VCL-класса

Следует выбрать VCL-компонент, на основе которого будет создан элемент ActiveX. В качестве примера выберем TCalendar.

Отметим, что при выборе опции Include Design-Time Licence автоматически будет сгенерирован файл с расширением *.lic, без которого данный ActiveX нельзя будет использовать ни в каких средствах разработки, но можно поставлять с готовыми приложениями. Использование такого файла бывает удобно в случае, когда ActiveX поставляется бесплатно его автором в составе готового продукта, но требует отдельного лицензирования при встраивании его другими пользователями в свои разработки.

В результате работы ActiveX Control Wizard будут созданы несколько модулей, сгенерирован уникальный идентификатор (GUID) будущего ActiveX, а также соответствующая библиотека типов.

Рис.2. Проект библиотеки ActiveX в С++Builder

Библиотека типов содержит сведения о свойствах, событиях и методах компонента ActiveX, унаследованных от исходного VCL-компонента.

Рис.3. Библиотека типов созданного элемента ActiveX

В коде, связанном с реализацией ActiveX, можно найти описание этих свойств и методов.

Далее следует сохранить и скомпилировать проект и зарегистрировать элемент ActiveX в реестре. Это делается с помощью выбора пункта меню Run/Register ActiveX Server.

После этого можно протестировать созданный ActiveX-компонент, открыв его, например, в Visual Basic. Отметим, что последние версии именно этого средства разработки широко используют элементы управления ActiveX в качестве составных частей создаваемых с их помощью приложений; фактически приложения Visual Basic собраны целиком из ActiveX-компонентов. Более того, спецификация ActiveX создана с учетом того, что в первую очередь Visual Basic и Visual C++ (и лишь затем остальные средства разработки) могут быть контейнерами для этих элементов управления. Поэтому тестирование поведения ActiveX в VisualBasic может более или менее гарантировать, что в других средствах разработки этот управляющий элемент будет вести себя точно так же.

В случае отсутствия Visual Basic можно воспользоваться и более широко распространенным Visual Basic for Applications. С этой целью можно запустить Microsoft Word 97, создать новый документ и выбрать на панели инструментов кнопку "Редактор Visual Basic". Далее следует выбрать в окне "Project" имя вновь созданного документа, щелкнуть по нему правой кнопкой мыши и из полученного контекстного меню выбрать опцию "Вставить/UserForm". На экране появится редактор форм Visual Basic и панель элементов. Далее нужно щелкнуть правой клавишей мыши по панели элементов и выбрать из контекстного меню опцию "Дополнительные элементы". Теперь следует из появившегося списка всех зарегистрированных элементов управления ActiveX выбрать нужный, и он автоматически окажется на панели элементов Visual Basic (можно поместить его на единственную имеющуюся страницу управляющих элементов или создать свою, выбрав опцию "Создать страницу" из контекстного меню ярлычков блокнота, расположенного на панели элементов).

После этого можно поместить наш ActiveX на форму и попытаться изменить какие-либо его свойства, используя для этой цели окно "Свойства".

Рис.4. Тестирование ActiveX в Visual Basic

И, наконец, можно вернуться в редактируемый документ, поместить на него кнопку, дважды щелкнуть по ней и в окне редактора кода создать процедуру, показывающую созданную форму, вписав в сгенерированный код строку UserForm1.Show:

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Теперь можно нажать на панели инструментов "Visual Basic" кнопку "Выход из режима конструктора". После этого нажатие на созданную в теле документа кнопку приведет к появлению диалоговой панели с созданным нами элементом управления.

Можно было бы, конечно, протестировать поведение созданного ActiveX, установив его в палитру компонентов Delphi или C++Builder,, но это не самый лучший способ тестирования - ведь в основе создания нашего ActiveX лежит та же самая библиотека VCL, что и в основе создаваемого приложения для тестирования ActiveX. Использование для этой цели любого не имеющего отношения к VCL средства разработки, способного использовать элементы управления ActiveX в создаваемых приложениях, более оправдано. При этом следует заметить, что Visual Basic for Applications представляет собой наиболее часто встречающееся средство разработки такого класса, так как входит в состав самого популярного в нашей стране офисного пакета.


1 | 2 | 3 | 4 | 5 | 6 | 7 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)