Построение остова для элемента MyCtrl
Для создания элемента ActiveX воспользуемся Мастером построения приложений – ControlWizard. С его помощью создается проект с базовым набором классов и ресурсов.
Такой базовый элемент отображается в виде эллипса. Никакие свойства, события, методы для взаимодействия с родительским окном не включаются в базовый проект.
Для того, чтобы создать такой базовый элемент, выполните следующие шаги:
1.
В меню File выберите пункт New.
2. В появившемся диалоговом окне New выберите закладку Projects (рис 2.).
3. Отметьте, что Вы хотите построить MFC ActiveX ControlWizard.
4. Введите имя проекта, для нашего элемента - MyCtrl.
5. Укажите путь для расположения файлов проекта.
6. После щелчка на кнопке OK появится первое окно мастера MFC ActiveX ControlWizard (рис.3), в котором можно указать число элементов в проекте ( один проект может содержать несколько элементов управления ), требуется ли поддержка лицензирования и нужны ли комментарии и поддержка файла справки.
7.
Во втором окне мастера ( рис. 4) можно изменять имена классов, но обычно это не делается.
Для нашего примера использованы установки, предлагаемые по умолчанию. После нажатия на кнопку Finish проект базового элемента будет создан.
Давайте посмотрим, какие файлы-заготовки будут созданы.
Класс | Файлы | Комментарии | |||
CMyCtrlApp | MyCtrl.h
MyCtrl.cpp | Реализует главную DLL-библиотеку. Обычно, этот код не меняется. Класс CmyCtrlApp является производным от класса COleControlModule. | |||
CMyCtrlCtrl | MyCtrlCtrl.h
MyCtrlCtrl.cpp | Реализует основные функции элемента. Эти файлы модифицируются для изменения поведения элемента. Класс CmyCtrlCtrl является производным от класса COleControl. | |||
CMyCtrlPropPage | MyCtrlPpg.h
MyCtrlPpg.cpp | Обеспечивает шаблон для построения страницы свойств элемента. Этот код изменяется для указания свойств элемента в странице свойств. Класс CMyCtrlPropPage производный от класса ColePropertyPage. |
ControlWizard создает и некоторые другие файлы, которые также будут модифицироваться в дальнейшем.
Файл |
Комментарий |
MyCtrl.odl |
Этот текстовый файл содержит информацию о контрольном элементе. Когда Вы добавляете свойства, события и методы в контрольный элемент, содержимое файла меняется. Этот файл используется при создании библиотеки MyCtrl.tlb, который добавляется в исполняемый код как ресурс. |
MyCtrl.rc |
Стандартный ресурсный файл. Содержит шаблон для страницы свойств. |
MyCtrl.bmp |
Рисунок, представляющий элемент. Обычно изменяется пользователем. |
MyCtrl.ico |
Иконка, которая появляется в диалоге About. |