Изменение приложения с использованием элемента ActiveX.
Вернемся к нашему приложению TestMyCtrl. Добавим в диалог кнопку с идентификатором IDC_TIMER с названием “Переключить таймер”. Используя Class Wizard, добавим обработку события, связанного с этим элементом:
void CTestMyCtrlDlg::OnTimer()
{
m_MyCtrl.DoChangeTimer();
}
Добавим обработку события Tick, получаемого от элемента ( в ClassWizard при выборе закладки Message Map для класса CtestMyCtrlDlg и элемента IDC_MYCTRL Вы должны увидеть оба пользовательских события – Select и Tick. Добавьте в диалог элемент статичекого типа для вывода строки текста и установите для этого элемента переменную m_Tick типа long.
Для обработки события Tick добавьте метод:
void CTestMyCtrlDlg::OnTickMyctrl(long ltick)
{
m_Tick.Format("%d", ltick);
UpdateData(FALSE);
}
Здесь просто выводится в диалоге тоже значение, что и в элементе MyCtrl (рис. 26 )
Для замены элемента рекомендуется удалить его из диалога, добавить в проект новый элемент, зарегистрированный последним, заменить файлы, вставленные в проект, так как добавились новые методы и события, снова добавить элемент в диалог, указать тот же идентификатор – IDC_MYCTRL, задать свойства.
Все файлы, полученные в результате разработки элемента и приложения, приведены в приложении 1. Эти файлы нам понадобятся позднее при более внимательном разборе классов, генерируемых ClassWizard.