Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Visual C++. ATL
Урок 5. Добавляем свойство для элемента ActiveX

Для добавления свойства щелкаем на вкладке ClassView на интерфейсе IFirstATL (Не перепутайте! У нас два интерфейса с таким именем, и нам нужен именно внешний интерфейс, а не интерфейс внутри класса CFirstATL!). В появившемся контекстном меню выбираем, естественно, Add Property:

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

В появившемся диалоговом окне Add Property to Interface задаем имя свойства как num и тип свойства как short:

Окно Add Property to Interface

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

Окно Add Property to Interface

Если нам надо что-нибудь одно (например у нас есть некоторое свойство только для чтения), то соответствующую галочку надо убрать. Для закрытия диалогового окна нажимаем на 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 (для чтения и записи соответственно):

Изменения в классе

Для перехода в окно кода сделайте двойной щелчок на любом из них. Измените код следующим образом:

STDMETHODIMP CFirstATL::get_num(short *pVal)
 
 {
 
     // TODO: Add your implementation code here
 
     *pVal=m_num; //Читаем свойство
 
     return S_OK;
 
 }
 
 
 
 STDMETHODIMP CFirstATL::put_num(short newVal)
 
 {
 
     // TODO: Add your implementation code here
 
     m_num=newVal; //Записываем свойство
 
     return S_OK;
 
 }

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



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS