Создание ActiveX-элементов средствами MFC. Создание проекта ActiveX-элемента на базе MFC

   
На этом шаге мы рассмотрим алгоритм создания элементов ActiveX.

   
MFC упрощает процесс создания ActiveX-элементов. Мастер MFC ActiveX ControlWizard позволит
Вам формировать полноценные ActiveX-элементы. Начиная с этого шага мы воспользуемся MFC
для создания элемента управления на базе ActiveX, который предоставляет диспетчерский интерфейс,
генерирует события и содержит страницу свойств, служащую для получения и установки его постоянных свойств.
Создание проекта ActiveX-элемента на базе MFC

   
Сейчас мы расскажем, как разработать ActiveX-элемент управления OneArmedBandit - программную
версию игрового автомата, известного под названием "однорукий бандит". Элемент управления предоставляет единственный
метод Рlау(), в обязанности которого входит генерация случайной комбинации картинок в трех окошках
элемента. При совпадении картинок во всех трех окошках метод генерирует событие Jackpot ("джекпот").
Когда пользователь щелкает мышкой в области элемента, генерируется событие Click.

   
OneArmedBandit имеет страницу свойств, где пользователь может установить свойства ForeColor и BackColor и
задать число картинок (свойство NumberOfSymbols), таким образом снижая или увеличивая вероятность
выигрыша. Все три свойства сохраняемые.

   
Как всегда при работе с MFC, сначала требуется создать проект разработки ActiveX-элемента.
Далее мы создадим проект OneArmedBandit.

  • Создание проекта OneArmedBandit.
  • В меню File выберите команду New, а затем щелкните вкладку Projects.
  • Щелкните MFC ActiveX ControlWizard. В поле Project name введите OneArmedBandit и щелкните ОК.
  • Откроется окно 1 мастера ControlWizard. Просмотрите параметры и щелкните Next, принимая параметры по умолчанию.
  • В окне 2 мастера ControlWizard сбросьте флажок Has an "About" box и щелкните Finish.
  • Будет открыто диалоговое окно New Project Information (рисунок 1).
    Рис.1. Создание проекта OneArmedBandit
    А теперь внимательно рассмотрите открытое окно. Во-первых, создаваемая DLL получает расширение *.осх. Такое расширение для элементов
    управления на базе ActiveX не обязательно. Просто это результат соглашения, оставшегося со времен, когда
    ActiveX-элементы назывались элементами управления OLE, которые в свою очередь пришли на смену
    элементам управления Visual Basic Extension (VBX). Во-вторых, исходный текст библиотеки типов находится в
    OneArmedBandit.odl - файле с кодом на языке Object Description Language. ODL - предшественник
    Interface Definition Language (IDL), и его синтаксис очень похож на синтаксис IDL. Компилятор
    Microsoft IDL (MIDL) понимает ODL-код.
  • Щелкните OK для завершения создания проекта OneArmedBandit. Разверните узлы ClassView,
    чтобы увидеть созданные для Вашего проекта классы (рисунок 2).


Рис.2. Классы проекта OneArmedBandit

   
Мастер ActiveX ControlWizard создает классы для реализации DLL-сервера, самого элемента управления и его страницы свойств.
Класс COneArmedBanditCtrl - производный от MFC-класса COleControl. Он наследует все
функциональные возможности классов CWnd и CCmdTarget и предоставляет огромное количество функций-членов
для работы с ActiveX-элементами. Посредством этих функций Вы можете получать и устанавливать стандартные
свойства, узнавать о свойствах окружения контейнера, генерировать стандартные события, реализовать постоянство свойств, а
также выполнять ряд операций, связанных с размещением и отображением элемента управления.

   
Текст приложения можно взять здесь (22,0 Кб).

   
На следующем шаге мы рассмотрим определение интерфейса элемента управления.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий