
- •Понятие визуального программирования.
- •Типы приложений (оконное приложение, консольное, сервис, драйвер).
- •Программирование, основанное на ресурсах. Редакторы ресурсов. Компилятор ресурсов. Функции для работы с ресурсами.
- •Работа с документами и окнами просмотра документов.
- •Структура оконного приложения.
- •Разработка однодокументных приложений. Использование AppWizard.
- •Назначение и методы классов приложения, главного окна, документа и вида.
- •Обработка сообщений. Работа с clAssWizard.
- •Обработка сообщений. Сообщение Windows. Обработка сообщений мыши и клавиатуры.
- •Панели элементов управления и каркас приложения. Панель инструментов. Строка состояния.
- •Модальные и немодальные диалоговые окна. Работа с модальным диалоговым окном.
- •Модальные и немодальные диалоговые окна. Работа с немодальными диалоговыми окнами.
- •Архитектура Document-View.
- •Управление gdi объектами. .Стандартные gdi-объекты .
- •Создание и уничтожение gdi-объектов.
- •Распределенные приложения. Технология dcom.
- •Многодокументный интерфейс mdi.
- •Рисование с помощью cdc.
- •Обзор основных классов mfc.
- •Классы для программирования графического интерфейса Windows.
- •Классы для обработки списков, массивов, коллекций.
- •Выполнение стандартных файловых операций с помощью класса cFile.
- •Сериализация данных приложения.
- •Многодокументный интерфейс mdi.
- •Понятие процесса и потока. Программирование многопоточных приложений.
- •Управление памятью в mfc.
- •Технологии связывание и внедрения объектов ActiveX.
- •Назначение и преимущества использования технологии ActiveX.
- •Установка элементов управления ActiveX.
- •Использование управляющих элементов ActiveX.
- •Понятие технологии com.
- •Создание объектов сом
- •Повторное применение объектов сом
- •Поддержка баз данных в mfc.
- •Технология ado
- •Обзор технологий odbc, dao, rdo, ole db. Интерфейсы доступа к данным.
- •Создание экранной формы для отображения содержимого бд.
- •Классы mfc для работы с сетью.
- •Программирование приложений для Интернета.
- •Динамически подключаемые библиотеки на mfc.
Установка элементов управления ActiveX.
Элемент управления ActiveX ― это многократно используемый компонент программы, основанный на модели COM, который поддерживает широкий диапазон функциональных возможностей OLE и может быть настроен для соответствия многим потребностям программного обеспечения. Элементы управления ActiveX разработаны для использования и в обычных контейнерах элементов управления ActiveX и в Интернете в страницах Интернета. Можно создать элементы управления ActiveX или описанный здесь с MFC или с библиотека шаблонных классов ATL (библиотека ATL).
Элемент управления ActiveX может рисовать в отдельном окне, реагирует на события (например, щелчок кнопкой мыши) и управляемого было до интерфейс, который включает свойства и методы, подобно строкам в объектах ole-автоматизации.
Эти элементы управления можно разработать для многих используется, например, доступ к базе данных, наблюдение данных или изображать диаграммой. Помимо их переносимости поддерживают функции управления ActiveX, ранее не доступные к элементам управления ActiveX, например совместимость с существующими OLE-контейнер и возможности интеграции их меню с меню OLE-контейнер. Кроме того, элемент управления ActiveX полностью поддерживает автоматизацию, которая позволяет элементу управления предоставлять свойства записи/чтения и набор методов, которые могут быть вызваны пользователем элемента управления.
Можно создать безоконные элементы управления ActiveX и элементы управления, только когда они создают окно будет активным. Безоконная скорость элементов управления вверх отображения приложения и делает ее возможным наличие прозрачные и непрямоугольные элементы управления. Можно также загрузить свойства элемента управления ActiveX в асинхронном режиме.
Элемент управления ActiveX реализован как сервер в процессе (как правило, небольшой объект), который может использоваться в любом OLE-контейнер. Обратите внимание, что вся функциональность элемента управления ActiveX доступна только при использовании в OLE-контейнер, предназначенное для отдавала учитывать элементов управления ActiveX. См. раздел Элементы управления ActiveX порта в другие приложения список контейнеров, которые поддерживают управления ActiveX. Этот hereafter тип контейнера, «контейнером элемента управления» может работать с элементом управления ActiveX с помощью свойств и методов этого элемента управления, а получает уведомления от элемента управления ActiveX в форму событий.
Использование управляющих элементов ActiveX.
Чтобы использовать в проекте уже созданные OLE-элементы управления, необходимо понимать, как создать проект, допускающий встраивание OCX-объектов, и как добавить в проект эти элементы.
Первая задача решается остаточно просто. Чтобы проект мог использовать OLE-элементы управления, на шаге работы AppWizard, где речь идет о поддержки OLE, следует включить флажок “OLE controls”. Это же свойство можно добавить и в уже созданный, работающий проект. Для этого в начало работы метода InitInstance() главного класса приложения следует вписать вызов AfxEnableControlContainer(). В файл stdafx.h включить строку #include <afxdisp.h>.
О том как добавлять OCX-объекты в проект приложения, было рассказано в пункте “Вставка компонентов в проект приложения”.
Предположим, что создан проект, допускающий использование OCX-объектов, а в галерее компонентов выбраны подходящие OLE-элементы управления, добавленные в проект. Возникает ряд вопросов: как использовать эти объекты и ведут ли они себя так же, как и обычные элементы управления Windows?
Так как сходств здесь больше, чем отличий, то в большинстве случаев можно полагать, что поведение и технология работы с этими элементами управления такие же, как и для обычных элементов управления.
При проектировании диалогового окна в нем, кроме обычных элементов управления, размещаются и OLE-элементы управления. Для них точно также открывается страница свойств, и на этапе проектирования можно задать нужные значения тех или иных свойств элемента. Средство ClassWizard позволяет связать элемент управления с объектом соответствующего класса (который добавляется в проект при встраивании OCX-элемента), а также создать обработчики сообщений для OLE-элемента управления точно так же как и для обычных элементов управления. Итак, работать с OCX-объектами можно точно так же как и с обычными элементами управления Windows.
Однако в реализации отличия большие. Например, при проектировании OCX-элемента управления для него можно определить свойства, методы и события (events). Свойства и методы - это привычные понятия для объекта, хотя в данном случае видимые в контейнере свойства и методы OCX-объекта создаются не совсем обычным путем (о проектировании OCX-объекта речь будет идти в следующем разделе).
Что касается событий, то в данном контексте речь идет о новом понятии - одной из характеристик OLE-элемента управления. При возникновении некоторой ситуации, чаще всего связанной с действиями пользователя, OCX-объект может “зажечь” событие , вызвав связанную с ним специальную функцию с именем Fire NameEvent (), где NameEvent - имя события. Когда объект “зажигает” событие, посылается соответствующее сообщение OLE-контейнеру (содержащему OCX-объект), который может это сообщение обработать. Таким образом, схема взаимодействия получается более сложной: пользователь взаимодействует с OCX-объектом; тот, “зажигая” событие, посылает сообщение контейнеру, который и обрабатывает событие.