Шаг 215.
Среда программирования Visual C++.
Создание ActiveX-элементов средствами ATL. Отображение элемента управления

    На этом шаге мы рассмотрим алгоритм отображения элемента управления.

    Нам осталось реализовать код для отображения элемента управления на экране. Как и MFC-класс COleControl, ATL-класс CComControl предоставляет функцию OnDraw(), содержащую весь код отображения. В CComControl::OnDraw() передается указатель на структуру ATL_DRAWINFO, помимо всего прочего содержащую описатель контекста устройства и указатель на структуру RECT со сведениями об ограничивающем прямоугольнике элемента управления. Контекст устройства - это HDC, тип "сырых" данных Windows, скрытый MFC-классом CDC. Это означает, что для отображения нашего элемента управления мы должны применять функции GDI API. GDI-функции идентичны своим CDC-аналогам за исключением того, что в качестве первого параметра они получают HDC. Сравнив реализацию функций CATLBandit::OnDraw() и COneArmedBanditCtrl::OnDraw(), Вы поймете, как все это работает.

    Теперь мы готовы перейти к сборке элемента управления ATLBandit. Загрузите его в ActiveX Control Test Container, чтобы просмотреть внешний вид, страницы свойств, поддержку постоянства свойств метод Рlау() и события Click и Jackpot.

    Текст приложения можно взять здесь (40,1 Кб).

    На следующем шаге мы сравним MFC и ATL.




Предыдущий шаг Содержание Следующий шаг