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 руб./мес


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




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

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

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

Добавление свойства

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

Окно Add Property Wizard - MyATL

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

Изменения в интерфейсе

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

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

Добаление переменной в класс

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

Окно Add Member Variable Wizard - MyATL

Нажмите на кнопку 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;
    ...

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

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