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

 

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

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

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

(получения) значения
Направление По часовой SetArcDirection Arc
рисования дуги стрелке (GetArcDirection)
Chord
Ellipse
Pie
Окончание табл. 19.4.
Атрибуты Стандартное Функции, используе- Воздействуют на
рисования значение мые для установки (получения) значения функции рисования
Цвет фона Белый SetBkColor (GetBkColor) Такие же, как в режиме рисования
Режим фона OPAQUE SetBkMode (GetBkMode) Такие же, как в режиме рисования
Первоначаль- 0,0 (координаты SetBrushOrg Chord
ная кисть экрана) (GetBrushOrg) Ellipse Pie Polygon PolyPolygon Rectangle RoundRect
Текущая 0,0 (логические MoveTo LineTo
позиция координаты) (GetCurrent Position) PolyBezierTo PolylineTo
Режим R2_COPYPEN SetROP2 (GetROP2) Arc
рисования Chord Ellipse LineTo Pie PolyBezier PolyBezierTo Polygon Polyline PolylineTo PolyPolygon PolyPolyline Rectangle RoundRect
Режим ММ_ТЕХТ SetMapMode Все функции
отображения (GetMapMode) рисования
Режим ALTERNATE SetPolyFillMode Polygon
заливки (GetPolyFillMode) PolyPolygon
В первой колонке табл. 19.4 перечислены атрибуты, во второй — их стандартные значения в созданном объекте контекста устройства. Третья колонка содержит функции класса cdc для изменения набора атрибутов и функции для получения текущих установок, а в четвертой — перечислены функции рисования или функции, на которые действуют эти атрибуты, выполняющие только отображение текста (см. гл. 18, табл. 18.1, 18.2).
Атрибут режима отображения рассмотрен в следующем разделе, а остальные атрибуты — далее при обсуждении функции или функций, на которые влияет этот режим.
Режим отображения
Текущий режим отображения (mapping mode) действует на все функции рисования графики и текста. Определяет единицы измерений и направление увеличения значений координат, используемых лля отображения графики и текстов. Воздействует на способ интерпретации координат, передаваемых в функции графического вывода и другие функции, принимающие логические координаты. Однако текущий режим отображения не влияет на функции, которым передают координаты устройства. Основное различие между логическими координатами и координатами устройства показано в параграфе "Преобразование координат" гл. 13.
Координаты устройства описывают размещение объекта указанием расстояния до объекта в пикселях (называемых также единицами устройства) по горизонтали и по вертикали от левого верхнего угла рабочей области окна (или левого верхнего угла доступной для печати области страницы). Горизонтальные координаты возрастают при перемещении вправо, а вертикальные — увеличиваются при перемещении вниз. Для координат устройства начало (т. е. точка с координатами 0, 0) всегда находится в верхнем левом углу.
В стандартном режиме отображения (с идентификатором mm text) логические координаты приведены в пикселях (горизонтальные координаты увеличиваются при перемещении вправо, а вертикальные — вниз, рис. 19.3). В стандартном режиме отображения mm text логические координаты совпадают с координатами устройства, если программа не меняет положение начата системы логических координат, что рассмотрено ниже.
Создание альтернативного режима отображения может изменить и логические единицы, и направление увеличения логических координат. Чтобы назначить альтернативный режим отображения, вызовите функцию SetMapMode класса cdc.
virtual int SetMapMode (int nMapMode) ;
где nMapMode — индекс, описывающий новый режим отображения. В табл. 19.5 приведены значения, которые можно присвоить nMapMode, и соответствующие им размеры логических единиц в результирующем режиме отображения.
Для режимов отображения mm_hienglish, mm^himetric, mm_loenglish, mm_lometric и MMjrwiPS горизонтальные координаты увеличиваются при перемещении вправо, вертикальные — при передвижении вверх (в отличие от стандартного режима отображения). На рис. 19.3 показано направление увеличения координат для стандартного режима отображения, а на рис. 19.4 — для альтернативных режимов
mm_hienglish, мм himetric, mm_loenglish, mm_lgmetric И mm TWIPS.
Заметим, что режимы отображения mm_anisometric или mm^isometric, описывая размер логических единиц и направление увеличения координат, создают настраиваемый режим отображения. Вертикальные и горизонтальные координаты для режима mm_i sometric имеют одинаковый размер, а для режима mm_anisometric могут иметь разные размеры. Для их описания используются функции SetWindowExt и SetViewportExt класса cdc.
Таблица 19.5. Режимы отображения
Значение, присваиваемое параметру nMapMode функции SetMapMode
Размер в логических единицах
MM ANISOTROPIC
MM HTENGLISH
MMHIMETRIC
MMJSOTROPIC
MMLOWENGLISH
MM_LOMETRIC
ММТЕХТ (режим отображения по умолчанию)
MM TWIPS
Определяется самостоятельно 0,001 дюйма 0,01 мм
Определяется самостоятельно 0,01 дюйма 0,1 мм
1 единица устройства (пиксель)
1/1440 дюйма (1/20 точки)
I Default (ММ_ТЕХТ) Mapping Mode
Увеличение горизонтальной ¦ координаты
—>
Увеличение вертикальной координаты
Рис. 19.3. Направление увеличения координат для стандартного режима отображения мм_техт
Предыдущая << 1 .. 53 54 55 56 57 58 < 59 > 60 61 62 63 64 65 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100