Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
401-432.doc
Скачиваний:
3
Добавлен:
11.11.2019
Размер:
668.67 Кб
Скачать

Стандартные значения основных атрибутов рисования

Атрибуты рисования

Стандартное значение

Функции, используемые для установки и получения значения

Функции, на которые воздействуют атрибуты

Направление рисования дуги

По часовой стрелке

SetArcDirection() GetArcDirection()

Arc()

Chord()

Ellipse()

Pie()

Цвет фона

Белый

SetBkColor() GetBkColor()

Такие же, как в режиме рисования

Режим фона

OPAQUE

SetBkMode() GetBkMode()

Такие же, как в режиме рисования

Текущая позиция

Логические координаты (0, 0)

MoveTo() GetCurrentPosition()

LineTo()

Окончание табл. В4

Атрибуты рисования

Стандартное значение

Функции, используемые для установки и получения значения

Функции, на которые воздействуют атрибуты

Первоначальная кисть

Координаты экрана (0, 0)

SetBrushOrg() GetBrushOrg()

Chord()

Ellipse()

Pie()

Polygon()

PolyPolygon()

Rectangle()

RoundRect()

PolyBezierTo()

PolylineTo()

Режим рисования

R2_COPYPEN

SetROP2() GetROP2()

Arc()

Chord()

Ellipse()

LineTo()

Pie()

PolyBezier()

PolyBezierTo()

Polygon()

Polyline()

PolylineTo()

PolyPolygon()

PolyPolyline()

Rectangle()

RoundRect()

Режим отображения

MM_TEXT

SetMapMode() GetMapMode()

Все функции рисования

Режим заливки

ALTERNATE

SetPolyFillMode() GetPolyFillMode()

Polygon()

PolyPolygon()

Существует 16 возможных режимов рисования, которые задаются значением, передаваемым в функцию CDC::SetROP2() и представленными в табл. В5

Т а б л и ц а В5

Значение аргумента dDrawMode, задающего режимы рисования, при вызове функции CDC::SetROP2()

Значение

Цвет каждого пиксела рисуемой фигуры

R2_COPYPEN (Стандартный режим)

Цвет пера

R2_NOTCOPYPEN

Инверсный цвету пера

R2_NOT

Инверсный цвету фона

R2_BLACK

Черный

R2_WHITE

Белый

R2_NOP

Не изменяется

R2_MERGEPENNOT

Цвет пиксела является комбинацией цвета пера и инверсного цвета экрана (final pixel = (NOT screen pixel) OR pen).

R2_MASKPENNOT

Цвет пиксела является комбинацией цветов, общих для пера и экрана (final pixel = (NOT screen pixel) AND pen).

R2_MERGENOTPEN

Цвет пиксела является комбинацией цвета экрана и инверсного цвета пера (final pixel = (NOT pen) OR screen pixel).

R2_MASKNOTPEN

Цвет пиксела является комбинацией цветов, общих для экрана и инверсного цвета пера (final pixel = (NOT pixel) AND screen pixel).

R2_MERGEPEN

Цвет пиксела является комбинацией цвета пера и цвета экрана (final pixel = pen OR screen pixel).

R2_NOTMERGEPEN

Цвет пиксела является инверсным цвету R2_MERGEPEN (final pixel = NOT(pen OR screen pixel)).

R2_MASKPEN

Цвет пиксела является комбинацией общих цветов для пера и экрана (final pixel = pen AND screen pixel).

R2_NOTMASKPEN

Цвет пиксела инверсный цвету R2_MASKPEN (final pixel = NOT(pen AND screen pixel)).

R2_XORPEN

Цвет пиксела является комбинацией цвета пера или экрана, но не их обоих (final pixel = pen XOR screen pixel).

R2_NOTXORPEN

Цвет пиксела является инверсным цвету R2_XORPEN (final pixel = NOT(pen XOR screen pixel)).

Отображаемые в окнах стандартные элементы характеризуются системными метриками (шириной и высотой), которые можно получить с помощью функции ::GetSystemMetrics(), параметр которой принимает значения, приведенные в табл. В5, где все значения SM_CX* определяют ширину, все SM_CY* — высоту

Т а б л и ц а В6

Некоторые значения системных метрик, которые задаются параметром nIndex функции ::GetSystemMetrics()

Значение параметра

Описание

SM_ARRANGE

Расположение минимизированных окон

SM_CLEANBOOT

Загрузка системы. Например, 0 — обычная, 1 — Fail-safe boot и т.д.

SM_CMOUSEBUTTONS

Количество кнопок мыши

SM_CXBORDER, SM_CYBORDER

Ширина и высота в пикселах границы окна

SM_CXCURSOR, SM_CYCURSOR

Ширина и высота в пикселах курсора

SM_CXDOUBLECLK, SM_CYDOUBLECLK

Ширина и высота в пикселах прямоугольника, в котором осуществляется двойной щелчок кнопки мыши

SM_CXDRAG, SM_CYDRAG

Ширина и высота в пикселах прямоугольника, в котором располагается курсор при выполнении операций drag and drop (перетащить и отпустить).

SM_CXEDGE, SM_CYEDGE

Размеры в пикселах трехмерных границ

SM_CXFULLSCREEN, SM_CYFULLSCREEN

Ширина и высота клиентской области в полноэкранном варианте

SM_CXHSCROLL, SM_CYHSCROLL

Ширина и высота в пикселах изображения стрелки на горизонтальной линейке прокрутки.

SM_CXICON, SM_CYICON

Ширина и высота значка

SM_CXICONSPACING, SM_CYICONSPACING

Размеры в пикселах прямоугольника для размещения элементов в виде больших значков

SM_CXMAXIMIZED, SM_CYMAXIMIZED

Размеры в пикселах развернутого на весь экран окна верхнего уровня..

SM_CXMAXTRACK, SM_CYMAXTRACK

Максимальные размеры в пикселах окна, которое имеет заголовок и границу установки размеров

SM_CXMENUSIZE, SM_CYMENUSIZE

Размеры в пикселах кнопок меню, используемых в MDI

SM_CXMIN, SM_CYMIN

Минимальная ширина и высота окна в пикселах

SM_CXMINIMIZED, SM_CYMINIMIZED

Размеры в пикселах обычного минимизированного окна.

SM_CXMINTRACK, SM_CYMINTRACK

Минимальные размеры в пикселах окна при его уменьшении путем перемещения рамки окна.

SM_CXSCREEN, SM_CYSCREEN

Ширина и высота в пикселах экрана дисплея

SM_CXSIZE, SM_CYSIZE

Ширина и высота в пикселах кнопки в заголовке окна.

SM_CXSIZEFRAME, SM_CYSIZEFRAME

Толщина в пикселах рамки по периметру окна, размеры которой можно изменить

SM_CXSMICON, SM_CYSMICON

Рекомендованные размеры малых значков

SM_CXVSCROLL, SM_CYVSCROLL

Ширина в пикселах вертикальной линейки прокрутки и высота стрелки на ней.

SM_CYCAPTION

Высота в пикселах обычной области заголовка

SM_CYMENU

Высота линейки меню

В зависимости от устройства отображения (дисплей, принтер, плоттер) с помощью функции CDC::GetDeviceCaps() можно получить информацию о растровых возможностях устройства, о количестве зависящих от устройства объектов GDI (кистей, перьев, шрифтов, цветов), о способности устройства отображать кривые, прямые линии, графические фигуры и многое другое (табл. В7).

Т а б л и ц а В7

Некоторые значения, которые передаются в функцию CDC::GetDeviceCaps()

Значения аргумента

Семантика

TECHNOLOGY

Тип устройства (например, векторный плоттер, растровый дисплей, растровый принтер и др.)

HORZSIZE

Ширина области, доступной для печати, в мм

VERTSIZE

Высота области, доступной для печати, в мм

HORZRES

Ширина области, доступной для печати, в пикселах

VERTRES

Высота области, доступной для печати, в пикселах

LOGPIXELSX

Количество пикселов на дюйм по ширине области, доступной для печати

LOGPIXELSY

Количество пикселов на дюйм по высоте области, доступной для печати

NUMBRUSHES

Количество зависящих от устройства кистей

NUMPENS

Количество зависящих от устройства перьев

NUMFONTS

Количество зависящих от устройства шрифтов

NUMCOLORS

Количество зависящих от устройства цветов

ASPECTX

Относительная ширина пиксела, используемого при чистовом рисовании (line drawing)

ASPECTY

Относительная высота пиксела, используемого при чистовом рисовании (line drawing)

RASTERCAPS

Растровые возможности устройства

CURVECAPS

Способность устройства отображать кривые

LINECAPS

Способность устройства отображать прямые линии

POLYGONALCAPS

Способность устройства отображать многоугольники

TEXTCAPS

Способность устройства отображать текст

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]