Visual C++ для начинающих


Void CMyClockCtrl::OnDraw( CDC*


Ну вот и всё, теперь элемент управления MyClock имеет свойства BackColor и ForeColor.

7. Включение специального свойства в ActiveX MyClock
Во многих случаях вам понадобится включить в свой элемент управления такие свойства, которые не входят в список стандартных. Эти свойства называются специальными.
Для примера включем в MyClock специальное свойство UpdateInterval - период обновления:

    View -> ClassWizard -> Automation( проверте, чтобы в окне Class name установлен класс CMyClockCtrl )
    Нажмите на кнопку Add Property
    В окне External name наберите UpdateInterval
    В окне Type выберите Long
    В окне Variable name должно быть m_updateinterval
    В окне Notification function поставьте OnUpdateIntervalChanged
    Проверте, что в камке Implementation выбрана кнопка Member variable и нажмите OK
Тем самым мы определили, что со свойством UpdateInterval будет связана переменная m_updateinterval и всякий раз, когда значение свойства UpdateInterval будет именяться, автоматически выполнится функция OnUpdateIntervalChanged.

Теперь надо проинициализировать свойство UpdateInterval:

    Откройте файл MyClockCtl.cpp
    Найдите функцию DoPropExchange() и напишиет в ней следующее:

    // Инициализация свойства UpdateInterval значением 1000
    PX_Long( pPX, _T("UpdateInterval"), m_updateinterval, 1000 );


Теперь надо модернизировать функции OnUpdateIntervalChanged:

    // проверка на отризательность
    if( m_updateinterval < 0 )
    {
    MessageBox( "This property cannot be negative !!!" );
    m_updateinterval = 1000;
    }
    // Установка таймера
    SetTimer( 1, (UINT)m_updateinterval, NULL );

и OnCreate:
    // Установка таймера
    SetTimer( 1, (UINT)m_updateinterval, NULL );




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



Книжный магазин