|
Программирование >> Процедурные приложения
Рис. 21.9. Выбор типа внедряемого объекта Рис. 21.10. В документ приложения Cnt внедряется электронная таблица Excel На рис 21.10 показан результат внедрения в документ электронной таблицы Excel со значениями, введенными пользователем. Еще раз напомним, что все функциональные возможности программы были заданы автоматически. Мы не изменили ни единой строчки в тексте, сгенерированном мастером AppWizard. Итак, вы убедились, что с помощью данного мастера можно легко создавать OLE-контейнеры. Теперь попробуйте самостоятельно создать простое приложение-сервер, а затем внедрите его объект в контейнер Cnt. Таким образом технология OLE действительно является непростым предметом для изучения, но, безусловно, достойным вашего внимания. Как вы могли убедиться, с помощью мастера приложений и библиотеки MFC совсем не трудно создать простое приложение, поддерживающее технологию OLE. Собственно говоря, существенная помощь в создании OLE-приложений - это основное достоинство мастера AppWizard. В следующей главе мы поговорим о таких важных средствах создания современных приложений, как элементы управления ActiveX. Глава 22. Основы создания элементов управления ActiveX Основные концепции o Критерии разработки элементов управления o Класс COleControl o Контейнеры Создание простого элемента управления ActiveX с использованием MFC o Создание ActiveX-шаблона o Код, сгенерированный мастером Модификация шаблона o Изменение формы, размеров и цвета элемента управления TDCtrl o Реакция на события мыши Тестирование элемента управления TDCtrl Вы уже знакомы с разнообразными элементами управления среды Windows, такими как переключатели, флажки, списки и т.д. Но многие разработчики предпочитают наряду с ними использовать и собственные элементы управления, известные как элементы управления ActiveX. Впервые они появились в языке VisualBasic и изначально носили название VBX-элементов (таковым было расширение соответствующих файлов). По сути, эти элементы управления являлись небольшими библиотеками динамической компоновки (DLL), только имевшими расширение VBX. Возможности современных 32-разрядных элементов управления значительно расширены, а для их файлов теперь применяется расширение OCX. Многие программисты использовали VisualBasic для разработки собственных элементов управления, а затем включали их в приложения, написанные на C/C++. Стало очевидным, что языки C/C++ неплохо было бы снабдить своим средством разработки элементов управления. Однако в то время, когда компания Microsoft подошла к решению данной проблемы, началась смена поколений операционной системы - переход от 16-разрядной Windows3.1 к 32-разрядным Windows95 и NT. Но оказалось, что аппаратно-зависимые 16-разрядные элементы управления VBX не могли служить так же хорошо на новых 32-разрядных платформах. Специалисты Microsoft решили, что целесообразнее будет заняться не расширением спецификации VBX, а разработкой для 32-разрядных платформ принципиально новой архитектуры элементов управления. Для их файлов было выбрано расширение OCX, а сами элементы получили название элементов управления ActiveX. Хорошей новостью для программистов, работающих с C++, стало включение в среду MicrosoftVisualC++ специального мастера, предназначенного для построения элементов управления ActiveX. Мастер создает код на основе библиотеки MFC . Элемент управления в процессе разработки можно протестировать с помощью утилиты ActiveXControlTestContainer. Готовый элемент можно внедрить в любое приложение, поддерживающее технологию OLE, скажем в MicrosoftWord или Excel. Основные концепции Элементы управления ActiveX часто используются совместно с обычными элементами управления, такими как переключатели, кнопки и флажки; все они могут одновременно содержаться в диалоговом окне. Однако реализация элементов управления ActiveX на порядок сложнее. Вся ответственность за функционирование элемента управления ложится на его разработчика. При этом необходимо учитывать два аспекта. С одной стороны, на стадии разработки следует написать, отладить и скомпилировать весь код, управляющий выводом элемента управления и реализующий все, его свойства и методы. В результате будет создана небольшая динамическая библиотека с расширением OCX. С другой стороны, приложение, использующее элемент управления ActiveX, должно будет взаимодействовать с ним, вызывая его методы,
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |