Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Урок 5. Добавляем свойство для элемента ActiveX / Библиотека ATL / Visual C++
Visual C++. ATL Урок 5. Добавляем свойство для элемента ActiveX
Для добавления свойства щелкаем на вкладке ClassView на интерфейсе IFirstATL (Не перепутайте! У нас два интерфейса с таким именем, и нам нужен именно внешний интерфейс, а не интерфейс внутри класса CFirstATL!). В появившемся контекстном меню выбираем, естественно, Add Property:
В появившемся диалоговом окне Add Property to Interface задаем имя свойства как num и тип свойства как short:
Обратите также внимание на то, что наше свойство будет и для записи, и для чтения:
Если нам надо что-нибудь одно (например у нас есть некоторое свойство только для чтения), то соответствующую галочку надо убрать. Для закрытия диалогового окна нажимаем на OK.
После этого внесите изменения в класс CFirstATL, а именно добавьте в него переменную m_num для нашего свойства num:
class ATL_NO_VTABLE CFirstATL :
...
private:
short m_num;
};
Обнулите эту переменную в конструкторе класса:
public:
CFirstATL()
{
m_num=0;
}
Обратите внимание на изменения на вкладке ClassView. Во-первых, в нашем внешнем интерфейсе IFirstATL появилось два метода num (для чтения и записи):
Во-вторых, в интерфейсе IFirstATL класса CFirstATL появилось два новых метода - get_num и put_num (для чтения и записи соответственно):
Для перехода в окно кода сделайте двойной щелчок на любом из них. Измените код следующим образом: