Статья: Создание собственных ActiveX элементов
Щелкнитенакнопке Add Function.
В ответ Visual C++ добавит в класс CMyClockCtrl функцию-элемент OnTimer().
Щелкните на кнопке Edit Code в ClassWizard.
В ответ Visual C++ откроет файл MyClockCtrl.cpp с функцией OnTimer() в режиме редактирования.
Напишите следующий код в функции OnTimerO:
void CMyClockCtrl::OnTimer(UINT nIDEvent) {
// TODO: Add your message handler code here and/or call // default // Переключитьвызовнафункцию OnDraw(). InvalidateControl() ; COleControl::OnTimer(nIDEvent) ; }
6. Включение базовых свойств в ActiveX MyClock
Базовые свойства( Stock properties ) - преопределены.
Ниже приведён список базовых свойств:
Appearance - Внешний вид( 3-х мерный или плоский )
BackColor - Цвет фона
BorderStyle - Стиль рамки
Caption - Заголовок
Enabled - Состояние доступен/недоступен
Font - Шрифт
ForeColor - Цвет переднего плана
hWnd - Маркер окна
ReadyState - Состояние готовности
Text - Текст
Для практики включим два базовых свойства в ActiveX MyClock: BackColor и ForeColor.
Выполните следующие действия:
View -> ClassWizard -> Automation( проверте, чтобы в окне Class name установлен класс CMyClockCtrl )
Нажмите на кнопку Add Property
Выберите из списка BackColor и нажмите OK
Также добавьте и свойство ForeColor.
Элемент управления MyClock имеет сейчас свойства BackColor и ForeColor, но пока не использует значения, хранящиеся в этих свойствах. Вам надо написать код в функции OnDraw(), который выполняет эту задачу:
void CMyClockCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) {
// TODO: Replace the following code with your own drawing // code.
// Задатьцветпереднегоплана( цветтекста ) pdc->SetTextColor( TranslateColor(GetForeColor()));