Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SDI.doc
Скачиваний:
23
Добавлен:
01.05.2014
Размер:
120.32 Кб
Скачать

Использование окна проекта FileView

  • Закройте все окна текстовых редакторов. Выберите закладку FileView окна проекта. Вы увидите дерево файлов проекта

  • Раскройте корневой узел Ex1 Files. Раскройте узелSource Files и дважды щелкните на узлеEx1.CPP, и вы увидите его в текстовом редакторе

  • Раскройте корневой узел Header Files. Пункты, перечисленные здесь, встречаются в директиве#include других исходных файлов. Дважды щелкните на узлеEx1.H, и вы увидите его.

  • Дважды щелкните на файле README.TXT и посмотрите его.Он сгенерированAppWizard

Использование окна проекта ResourceView

  • Закройте все окна текстовых редакторов. Выберите закладку ResourceView окна проекта. Вы увидите дерево ресурсов проекта

  • Раскройте каждую ветвь и два раза щелкните по каждому ресурсу. Вы увидите его в специализированном окне редактора данного ресурса

  • Быстро посмотрите каждый ресурс

Работа с графикой

В Windowsопределен набор графическихAPI-функций. ВMFCони инкапсулируются классомCDC. Число вспомогательных графических функций велико. Мы ознакомимся лишь с частью из них.

Отображение точки

COLORREF CDC::SetPixel ( int X, int Y, COLORREF Color)

Х, У – координаты точки, Color – цвет. В MFC имеются пере-груженные версии, в которых координаты задаются с помощью структуры типа Point.

Рисование линии

BOOL CDC::SetPixel( int X, int Y)

Х, У – координаты точки

Изменение позиции текущего указателя

CPoint CDC::MoveTo( int X, int Y)

Х, У – координаты позиции указателя

Рисование прямоугольников

BOOL CDC::Rectangle(int upX, int upY, int lowX, int lowY)

int upX, int upY – координаты верхнего левого угла, int lowX, int lowY - координаты нижнего правого угла

Рисование эллипсов

BOOL CDC::Ellipse(int upX, int upY, int lowX, int lowY)

определяется координатами описанного вокруг него прямоугольника

Рисование дуг

BOOL CDC::Arc( int upX, int upY, int lowX, int lowY, int startX, int startY, int endX, int endY)

дуга задается двумя объектами – часть эллипса, в который вписан прямоугольник

Стандартные перья

CPen, можно получить с помощью функцииCCreateStockObject()

По умолчанию черное перо толщиной в один пиксел, имеется три стандартных пера

BLACK_PEN,WHITE_PEN, NULL_PEN

Создание собственных перьев

BOOL CPen:: CreatePen(int Style, int Width, COLORREF Color)

Style –стиль создаваемого пера, Width - толщина, Color – цвет

Пользовательская кисть

BOOL CBrush:: CreateSolidBrush (COLORREF Color)

Сплошная кисть

Задание 1.2

В этом задании вы используете уже построенное ранее приложение Ex1, добавив в него обработку сообщения мыши и возможность рисовать линию

Добавим обработчик сообщения мыши

  • В меню View выберите ClassWizard, появится страница MFC ClassWizard

  • Выберем закладку Message Maps, в ней проект Ex1, класс – Cex1View и Object ID - Cex1View .

  • В списке сообщений Messages выберите сообщение мыши WM_LBUTTONDOWN и нажмите Add Function.

  • Повторите предыдущий шаг для сообщений WM_MOUSEMOVE и WM_LBUTTONUP

  • Нажмите Ok для закрытия НажмитеOk

Соседние файлы в предмете Компьютерная Графика