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

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


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

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

Рассылка №50

Visual C++.NET. Библиотека ATL. Урок 3. Добавление свойства.
Visual C++.NET. Библиотека ATL. Урок 4. Добавление метода.

Полные версии уроков (с картинками) можно найти по адресам
Урок 3. Добавление свойства.
Урок 4. Добавление метода.

Visual C++.NET. ATL. Урок 3. Добавление свойства

На этом уроке мы с вами добавим к нашему компонненте свойство num. Для этого на вкладке ClassView щелкаем на имени интерфейса, служащего для добавления свойств и методов (IMyFirstATL), и из контекстного меню выбираем Add, и затем Add Property.

В появившемся окне "Add Property Wizard - MyATL" задаем имя свойства как num, тип - как short. Обратите внимание, что по умолчанию будут стоять галочки "Get function" и "Put function" - это означает, что мастер сгенерирует заготовки функций для чтения и записи свойства num.

Нажимаем на кнопку Finish для закрытия диалогового окна и смотрим, что за изменения получил наш проект. Во-первых, в нашем интерфейсе IMyFirstATL появилось два новых метода - get_num и put_num.

Во-вторых, в классе CMyFirstATL появились заготовки для этих же функций.

Для сохранения свойства внутри класса CMyFirstATL заведите переменную m_nNum типа short. Для этого щелкаем на классе правой кнопкой мыши и из контекстного меню выбираем Add и затем Add Variable.

В появившемся окне "Add Member Variable Wizard - MyATL" задайте тип доступа к переменной как public, имя - как m_nNum и тип - как short.

Нажмите на кнопку Finish для закрытия дилогового окна.

Теперь нам надо внести изменения в код для сгенерированных функций get_num и put_num, а именно связать их с добавленной переменной m_nNum:

STDMETHODIMP CMyFirstATL::get_num(SHORT* pVal)
{
    // TODO: Add your implementation code here
    *pVal=m_nNum;
    return S_OK;
}

STDMETHODIMP CMyFirstATL::put_num(SHORT newVal)
{
    // TODO: Add your implementation code here
    m_nNum=newVal;
    return S_OK;
}

Обратите внимание, что чтение значения свойства мы делаем через указатель:

    ...
    *pVal=m_nNum;
    ...

Мы так будем поступать почти всегда - так как при создании компонентов функции возвращают, как правило, только информацию об успешном или неуспешном своем выполнении.

С добавлением свойства все.

Наверх

Visual C++.NET. ATL. Урок 4. Добавление метода

Для добавления метода используется тот же интерфейс IMyFirstATL, что и для добавления свойства, только при этом в контекстном меню интерфейса выбираем, естественно, пункт "Add Method".

В появившемся окне "Add Method Wizard - MyATL" задайте только имя для нашего метода (inc).

Нажмите на кнопку Finish для закрытия диалогового окна. Обратите внимание, что новый метод inc появился у нашего интерфейса IMyFirstATL.

Кроме того, этот же метод появился и у класса CMyFirstATL.

Внесите следующий код в сгенерированную в классе CMyFirstATL заготовку метода inc:

STDMETHODIMP CMyFirstATL::inc(void)
{
    // TODO: Add your implementation code here
    m_nNum++;
    return S_OK;
}

Как вы видите, мы тут просто увеличиваем значение внутренней переменной m_nNum класса CMyFirstATL.

С добавлением метода все.

Наверх

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

Рассылки Subscribe.Ru
Обзор программ

Обзор новых программ. Тематика - программы и утилиты для программирования, WEB-дизайна, работы в Интернете и др. Ссылки на сайты фирм-разработчиков.


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

Copyright cайт progs.biz, 2002



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

В избранное