C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




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

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 и т. д.

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

Квадратик