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

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


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

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



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

Visual C++. MFC
Урок 6. Рисуем в окне

Давайте теперь посмотрим, как можно в нашем окне что-нибудь нарисовать. В Windows все рисование происходит на так называемом контексте устройства (Device context по-английски). При этом рисование происходит одинаково и для экрана, и для принтера, и для плоттера и т. п. Вы можете полагать, что контекст устройства - это как бы холст. На нём вы рисуете, применяя кисти, перья, шрифты и другие объекты.

Когда окну надо что-либо перерисовать, оно получает сообщение WM_PAINT. Для рисования нам надо написать обработчик для этого события. Для этого мы должны сделать шаги 3-5 из предыдущего урока. Напомним их.

Итак, вносим объяление функции в класс:

class CMyMainWnd : public CFrameWnd{
 
     ...
 
     afx_msg void OnLButtonDown(UINT, CPoint);
 
     afx_msg void OnPaint();
 
     DECLARE_MESSAGE_MAP()
 
 };

Затем добавляем макрос в карту сообщений:

BEGIN_MESSAGE_MAP(CMyMainWnd, CFrameWnd)
 
 ...
 
 ON_WM_PAINT()
 
 END_MESSAGE_MAP()

И, наконец, пишем реализацию нашей функции:

void CMyMainWnd::OnPaint(){
 
     CPaintDC* pDC=new CPaintDC(this);    pDC->Rectangle(1,1,10,10);
 
 }

В реализации мы делаем следующее - заводим контекст устройства для рисования в строке

CPaintDC* pDC=new CPaintDC(this);

Здесь контест устройства мы создаём динамически. Слово this означает, что мы его тут же прикрепляем к нашему окну (так как сейчас мы находимся в классе CMyMainWnd). У контекста устройства много разных методов. Один из них - это рисование прямоугольника, который мы и используем. Его параметры - это координаты верхнего левого и правого нижнего углов. Есть и множество других методов - для рисования круга и эллипса - Ellipse и т. д.

Запускаем прграмму. В левом углу должен появится квадратик.

Квадратик

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

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




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



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


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