Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки по Visual C++ (MFC, платформа .NET)


Информационный Канал Subscribe.Ru

Visual C++.NET. MFC. Уроки по программированию с сайта http://progs.biz

Рассылка №49

Visual C++.NET. Библиотека ATL. Урок 1. Что такое ATL?
Visual C++.NET. Библиотека ATL. Урок 2. Начинаем делать компонент.

Полные версии уроков (с картинками) можно найти по адресам
Урок 1. Что такое ATL?
Урок 2. Начинаем делать компонент.

Visual C++.NET. ATL. Урок 1. Что такое ATL?

ATL расшифрвывается как Active Template Library. Это библиотека классов и шаблонов, предназначенная для разработки собственных компонетов.

Вообще говоря в Visual C++ есть две основные библиотеки - это MFC и ATL (библиотеку классов для платформы .NET мы пока оставляем за скобками). Библиотека MFC предназначена в основном для создания приложений с пользовательским интерфейсом (окна, диалоги и т. п.). Наряду с такими типами приложений есть и другой тип - без пользовательского интерфейса. Это могут быть, например, различные службы, предоставляющие другим приложениям свойства и методы. Такие службы могут что-то там по запросу вычислять и возвращать результат через свои методы. Именно для таких приложений без пользовательского интерфейса и предназначена библиотека ATL. Еще одно применение этой библиотеки - это создание собственных элементов ActiveX. Например, с помощью библиотеки ATL вы можете создать собственную особую кнопку (скажем, круглую) и затем использовать ее в программах на VB или Delphi. Собственные элементов ActiveX вы можете создавать и с помощью библиотеки MFC, но по размеру они получаются существенно больше, что для элемента ActiveX является существенным минусом - ведь часто его надо загружать из Интернета. Как плату за меньший размер вам приходится программировать прорисовку элемента с помощью библиотеки ATL на более низком уровне - а именно на уровне API-функций. За все приходится платить.

Наверх

Visual C++.NET. ATL. Урок 2. Начинаем делать компонент

Начинаем делать компонент. На ближайших занятиях мы создадим визуальный компонент со всеми присущими ему чертами - а именно со свойствами, методами и событиями. Также мы испытаем наш компонент в программе, написанной на VB.NET.

Наш компонент будет представлять из себя следующее: Во-первых, у него будет свойство num целого типа. При размещении компонента (например, на форме VB) на нем будет показываться значение этого свойства. По умолчанию это свойство будет равно нулю. Во-вторых, у компонента будет метод inc, который будет увеличивать значение свойства num на 1. И в третьих, если у нашего компонента свойство num станет равным 3, то возникнет событие MyEvent, которое мы при желании сможем обработать в контейнере (форме VB).

Приступаем непосредственно к написанию компонета. Начинаем с заготовки. Запустите Visual Studio.NET, далее вызываем диалог для создания нового проекта (File, New, Project), в котором в левом списке выбираем Visual C++ Projects, а в правом - ATL Project.

В нижней части этого же диалогового окна задаем имя (поле Name) и при необходимости местоположение (Location). Для определенности в качестве имени зададим "MyATL", а для местоположения - папку "D:\ATL". Нажимаем на OK для закрытия диалогового окна.

Появляется окно "ATL Project Wizard - MyATL". В нем все оставляем без изменений и нажимаем на кнопку Finish.

У нас создалась заготовка для ATL-проекта. В нем, вообще говоря, может находится несколько компонентов. Пока же в нем нет ни одного, поэтому следующим нашим шагом мы должны добавить заготовку для ATL-компонента. Для этого щелкаем на узле MyATL на вкладке ClassView.

после чего заходим в меню Project в котором выбираем подменю Add Class. В появившемся окне "Add Class - MyATL" выбираем "ATL Control" и нажимаем на Open.

Появляется окно "ATL Control Wizard - MyATL", на вкладках которого мы можем задавать разные параметры для нашего компонента. На первой вкладке (Names) задайте в качестве имени (поле Short Name) MyFirstATL. Остальные имена на этой вкладке заполнятся автоматически - в них менять ничего не надо.

На вкладке Options обязательно поставьте галочку "Connection points".

Эта галочка необходима, если у нашего компонента будут собственные события (а они у него будут).

Нажимаем на кнопку Finish для закрытия окна "ATL Control Wizard - MyATL".

Обратите внимание, что на вкладке ClassView появились три новых пункта - класс CMyFirstATL и два интерфейса - IMyFirstATL (для добавления свойств и методов) и _IMyFirstATLEvents (для добавления событий).

С созданием заготовки все!

Наверх

Рассылки сайта progs.biz:

Subscribe.Ru
Уроки по ассемблеру

Уроки по ассемблеру. Использование MASM, примеры, FAQ.


Copyright Алексеев Игорь, 2002

Copyright cайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное