ActiveX с нуля


Добавление взаимодействия элемента управления и контейнера. - часть 2


Элемент типа статического текста с идентификатором IDC_MESSAGE будет отображать текст, изменяющийся при щелчках мыши на элементе.

Запустите ClassWizard и на закладке Member Variables задайте переменные для элементов с иденгтификаторами IDC_MESSAGE, IDC_NEWTEXT, IDC_MYCTRL.

На закладке Message Map выберете класс СtestMyCtrlDlg. Задайте обработку событий, связанных с щелчками на кнопках IDC_TEXT и IDC_SHAPE. Если Вы выберете в списке Object Ids элемент IDC_MYCTRL, то в списке событий Вы увидите то единственное событие, которое мы посылаем в контейнер – Select. Добавьте обработчик для него – функцию с именем OnSelectMyCtrl.

Измените текст в файле TestMyCtrl.cpp:

void CTestMyCtrlDlg::OnSelectMyctrl(BOOL IsSelected)

{

     if ( IsSelected )

     m_Message = "Выбран";

     else

     m_Message = "Не выбран";    

     UpdateData(FALSE);

}

 

void CTestMyCtrlDlg::OnShape()

{

     short shape = m_MyCtrl.Get_Shape();

     if ( shape < 2 )

     m_MyCtrl.Set_Shape(++shape);

     else

     m_MyCtrl.Set_Shape(0);

}

 

void CTestMyCtrlDlg::OnText()

{

     UpdateData(TRUE);

     m_MyCtrl.SetCaption(m_newText);

         

}

Обратите внимание на использование методов элемента ActiveX: вызовы методов выделены жирным шрифтом.

Перестройте приложение и запустите его (рис. 22).





- Начало -  - Назад -  - Вперед -