C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 115 - Добавление элемента / ActiveX по шагам / Приложение

Шаг 115 - Добавление элемента

Чтобы добавить объект к проекту ATL нужно использовать ATL Object Wizard. Нажмите New ATL Object в меню Insert.

115_1.gif (2813 b)

Появится ATL Object Wizard.

115_2.gif (6202 b)

В окне ATL Object Wizard выбирайте класс объекта, который Вы хотите добавить к текущему проекту. Здесь много вариантов выбора от базового COM объекта до объекта оптимизированного для работы в Internet Exploler. Мы будем создавать стандартный элемент управления, так что устанавливаем слева категорию Controls, затем справа выбираем полный элемент управления. Далее нажимаем Next.

Отобразится страница набора свойств, которая позволяет конфигурировать элемент управления. Напечатайте "PolyCtl" как короткое имя. Другие поля будут автоматически заполненяться.

115_3.gif (6066 b)

Поле Class показывает имя C++ класса созданного, чтобы реализовать элемент управления. Поля .H File и .CPP File показывают созданные файлы, которые содержат определение класса C++. CoClass - имя класса компонента для этого элемента управления. Interface - имя интерфейса, используя который элемент управления будет выполнять запрашиваемые методы и реквизиты. Type - описание для элемента управления. ProgID - имя, которое может использоваться для поиска CLSID элемента управления.

Теперь нужно дать возможность поддержки расширенных данных об ошибках и точках соединения для элемента управления:

  1. Перейдите на вкладку Attributes.
  2. Установите флажок Support ISupportErrorInfo.
  3. Установите флажок Support Connection Point. Это создаст поддержку для интерфейса событий в IDL файле.

115_4.gif (6791 b)

У нас будет использоваться цвет при рисовании многоугольника, для этого нужно добавить свойство Fill Color:

  1. Выберите вкладку Stock Properties.
  2. Листайте список пока не найдете Fill Color, потом дважды щелкните на нем, чтобы переместить свойство в список Supported.

115_5.gif (5268 b)

Для того, чтобы закончить выбор опций для элемента управления надо нажать OK. Когда элемент управления будет создаваться будут произведены изменения в коде и добавится несколько файлов:

  • PolyCtl.h - Содержит большинство реализации C++ класса CPolyCtl.
  • PolyCtl.cpp - Содержит оставшиеся части CPolyCtl.
  • PolyCtl.rgs - Текстовый файл, который содержит сценарий регистрации элемента управления в реестре.
  • PolyCtl.htm - HTML файл, который содержит код Web страницы содержащую ссылку на недавно созданный элемент управления. Ее можно посмотреть используя Internet Explorer.

Мастер также сделал следующие изменения кода:

  • Добавил директиву #include в файлы StdAfx.h и StdAfx.cpp, чтобы подключить файлы ATL необходимые для элементов управления.
  • Сценарий регистрации в реестре PolyCtl.rgs добавил в ресурсы проекта.
  • Файл Polygon.idl теперь содержит подробности о новом элементе управления.
  • Новый элемент управления был добавлен в Polygon.cpp.
  • Файл PolyCtl.h наиболее интересен, потому что он содержит основной код, который реализует работу элемента управления.

Теперь можно создавать элемент управления:

  1. В меню Build выбираем Build Polygon.dll.
  2. После только элемент управления будет создан, надо выбрать ActiveX Control Test Container в меню Tools. Test Container запущен.
  3. В Test Container выберите Insert New Control из меню Edit. Появится диалоговое окно Insert Control.
  4. Из списка доступных элементов управления в диалоговом окне Insert Control выберите класс PolyCtl.

Теперь Вы должны видеть прямоугольник с текстом "ATL 3.0: PolyCtl" в середине. Закройте Test Container.


| |
Автор Каев Артем.
[AD]