Добавление событий.
Элемент будет обрабатывать сообщения от мыши.
Мы сейчас добавим событие, которое возникает при нажатии на левую кнопку мыши в области контрольного элемента и передается в контейнер. При этом свойство Select меняется на противоположное значение, а форма в элементе изменяет цвет заливки.
События добавляются к элементу управления с помощью ClassWizard.
Чтобы добавить событие Select:
1.
Щелкните на вкладке ActiveX Events в диалоге ClassWizard (рис. 10).
2. Щелкните на кнопке Add Event (рис. 11).
3.
Введите в поле External name имя свойства Select. При этом мастер устанавливает внутреннее имя (имя функции, вызывающей запуск события) FireSelect. Событие должно иметь параметр. Укажем его в списке Parameter list: это IsSelected типа BOOL.
Щелкните кноку OK.
4. Добавьте обработчик сообщения WM_LBUTTONDOWN, из которого будет запускаться событие. Для этого выберите вкладку Message Map(рис. 12).
В списке Messages выберите событие WM_LBUTTONDOWN и нажмите кнопку Add Function.
5. Внесите изменения в функцию OnLButtonDown:
void CMyCtrlCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
COleControl::OnLButtonDown(nFlags, point);
m_bSelected = !m_bSelected;
InvalidateControl();
FireSelect(m_bSelected);
}