Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том2)" -> 56

Visual С++ 6. Полное руководство: В 2 т.(том2) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том2) — Бином, 2006. — 530 c.
Скачать (прямая ссылка): vicualcc2006t2.djvu
Предыдущая << 1 .. 50 51 52 53 54 55 < 56 > 57 58 59 60 61 62 .. 173 >> Следующая

void CMyView::OtherFunction () {
CClientDC ClientDC (this)
// Если графика отображается в окне представления, // поддерживающем прокрутку: OnPrepareDC (&ClientDC);
// для отображения графики используется 'ClientDC' . . . }
Совет
Чтобы отобразить графику вне рабочей области окна, создайте объект класса cwindowoc.
Все функции рисования, рассмотренные в этой главе, являются членами класса cdc. Так как cdc — базовый класс по отношению к остальным классам объекта контекста устройства, то эти функции вызываются при использовании объекта контекста устройства произвольного типа.
В данной главе основной акцент сделан на рисовании внутри окна (прежде всего окна представления). Однако перечисленные функции и способы не зависят от типов устройств и используются для отображения рисунков на других устройствах, например принтерах или плоттерах.
Выбор инструментов рисования
Имеются два инструмента, выбор которых отражается на работе функций класса cdc — перо и кисть. Перо влияет на способ рисования линии. Оно действует как на прямые и кривые линии (например, нарисованные с использованием функции LineTo или Arc), так и на границы замкнутых фигур (например, прямоугольников и эллипсов). Кисть действует на способ рисования внутренней области замкнутых фигур. Очевидно, что замкнутая фигура состоит из двух отдельных элементов: границы и внутренней области.
Примечание
Инструменты рисования, определенные в этом разделе, т.е. перья и кисти, принадлежат к категории объектов, называемых графическими или объектами GDI (термин объект относится к структуре данных Windows, а не к объекту С++; GDI означает графический интерфейс устройства - grephics device interface). Существуют другие графические объекты: шрифты (см. гл.18), растровые изображения (гл.20), области, контуры и палитры. Хотя области, контуры и палитры также относятся к рисованию, их изучение выходит за пределы этой книги. Общее описание областей, контуров и палитр приведено в следующих разделах справочной системы: Platform SDK. Graphics and Multimedia Services, GDI (палитры описаны в параграфе "Colors"). Информация об использовании областей и палитр в MFC - в следующих разделах справочной системы: Visual С++ Documentation, Reference, Microsoft Foundation Cless Library and Templates, Microsoft Foundation Class Library, Class Library Reference, CRgn и CPalette. Информация об использовании контуров в MFC - в разделах Visual С++ Documentation, Reference, Microsoft Foundation Class Library and Templates, Microsoft Foundation Class Library, Class Library Reference, CDC. CDC Class Members, a также в разделе Path Functions.
При первичном создании объект контекста устройства содержит заданные по умолчанию перо и кисть. Перо рисует сплошную черную линию шириной в 1 пиксель независимо от текущего режима отображения (который будет рассмотрен датее). Кисть заливает внутреннюю область фигуры с замкнутым контуром непрозрачным белым цветом. Для каждого из этих инструментов в табл. 19.1 приведены функции рисования, на которые влияет выбор инструмента, и указан выбранный по умолчанию идентификатор инструмента. Если нужно выбрать инструмент, идентификатор передается в функцию SelectStockObject (подробнее в следующем разделе). В таблице приведены только функции рисования, рассмотренные в этой главе.
Таблица 19.1. Инструменты рисования
Инструмент рисования Инструмент, заданный по Функции рисования, на
умолчанию которые он действует
Перо BLACK_PEN Arc
Chord Ellipse LineTo Pie
PolyBezier
PolyBezierTo
Polygon
PolyLine
PolyLineTo
Poly Polygon
PolyPolyLine
Rectangle
RoundRect
Кисть WHITEBRUSH Chord
Ellipse ExtFloodFill FloodFill Pie
Polygon PolyPolygon Rectangle RoundRect
Чтобы изменить текущее перо или кисть, выберите стандартное перо или кисть или создайте пользовательские, а затем выберите их в объекте контекста устройства. Выбранные перо или кисть используются до следующего явного выбора других инструментов рисования.
Выбор стандартных инструментов рисования
Выбирается перо или кисть вызовом функции -SelectStockObject класса CDC: CGdiObject* SelectStockObject (int nlndex);
Параметр nlndex является кодом отдельного стандартного объекта, который передается в объект контекста устройства. Значения этого параметра дтя выбора стандартных перьев и кистей перечислены в табл. 19.2. Как показано в гл. 18, можно вызвать функцию SelectStockObject для выбора стандартного шрифта.
Таблица 19.2. Значения,
передаваемые в функцию Зе1есгз^скогое^ для выбора стандартных перьев и кистей
Значение Встроенный объект
BLACKBRUSH Черная кисть
DKGRAY BRUSH Темно-серая кисть
GRAYBRUSH Серая кисть
LTG RAY BRUSH Светло-серая кисть
NULL_ BRUSH Нулевая кисть (область не закрашивается)
WHITE BRUSH Белая кисть (по умолчанию)
BLACK _PEN Черное перо (по умолчанию)
NULLPEN Нулевое перо (не рисует линию или границу)
WHITEPEN Белое перо
Например, следующие строки выбирают белое перо и серую кисть. void CMyView::OnDraw(CDC* pDC) I pDC->S<;loctStOCkObject tWKITr. PEN) ; pDC-XSelectStorkObject 'GRAY BRUSH) ;
Предыдущая << 1 .. 50 51 52 53 54 55 < 56 > 57 58 59 60 61 62 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100