Шаг 2 - Переменная

Объект получился в предыдущем шаге. Но он выводит строку, которую нельзя менять. Для начала необходимо создать переменную, которая будет хранить строку. Хранятся переменные в классе C*Ctrl. У нас он CDMyActive1Ctrl.

Выбирайте ClassView наводите мышку на CDMyActive1Ctrl правую кнопку, далее Add Member Variable. И добавьте переменную типа CString с именем m_string, как публичную. После этого она появится в списке элементов класса. Два раза щелкните по ней. Должно быть так:

.....
	DECLARE_EVENT_MAP()

// Dispatch and event IDs
public:
	CString m_string;
	enum {
	//{{AFX_DISP_ID(CDMyActive1Ctrl)
.....

Теперь её необходимо инициализировать. А единственное место где это можно сделать - это конструктор, так как функций подобных OnNewDocument() в данном случае нет.

CDMyActive1Ctrl::CDMyActive1Ctrl()
{
	InitializeIIDs(&IID_DDMyActive1, &IID_DDMyActive1Events);

	m_string = "My ActiveX 2";
}

Ну, а теперь надо, чтобы строка выводилась на экран. Это в функции OnDraw(). Меняем её.

Компилируйте и вставляйте. В любой контейнер. Надпись поменяется.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.