Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 28 января!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Visual C++.NET. Библиотека ATL
Урок 9. Рисование на компоненте

Для рисования на компоненте служит метод OnDraw класса компонета:

Метод OnDraw

Мастер уже создает вам заготовку для этого метода, в которой выводится умолчальная надпись "ATL 7.0 : MyFirstATL". В этот метод передается параметр di типа ATL_DRAWINFO. Именно через этот параметр вы и получаете все необходимое для рисования - в частности, контекст устройства (напомним, что все рисование на компонентах идет на уровне API-функций). В частности, для получения контекста устрйства мы пишем что-то вроде:

HDC hdc=di.hdcDraw;

Далее полученный контекст устройства мы используем во всех API-функциях рисования:

TextOut(hdc, (rc.left + rc.right) / 2, (rc.top + rc.bottom) / 2, pszText, lstrlen(pszText));

В принципе, можно не заводить для контекста устройства отдельную переменную (что мастер и делает):

TextOut(di.hdcDraw, (rc.left + rc.right) / 2, (rc.top + rc.bottom) / 2, pszText, lstrlen(pszText));

Для рисования используются стандартые API-функции - например TextOut для вывода текста, LineTo для рисования линии, Rectangle для вывода прямоугольника, Ellipse для рисования эллипса, SelectObject для приписывания к контексту устройства кисли, пера и т. п. и множество других.



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS