dc.Rectangle ( &rt ) ; // рисуем прямоугольник
В некоторых случаях, например, если графический объект содержит много атрибутов, удобно не создавать объект, а получить текущий и изменить некоторые его свойства. Для этой цели в классе CGdiObject определена функция GetObject, синтаксис которой имеет вид:
int GetObject ( int nCount , LPVOID lpObject ) const ;
Функция возвращает количество скопированных байтов или ноль, если произошла ошибка.
Параметры:
lpObject указатель на буфер, который получает информацию;
nCount определяет количество байтов для копирования в буфер lpObject.
Функция заполняет буфер данными, которые определяют указанный объект. Тип буфера определяется видом графического объекта в соответствии со следующим списком:
Тип объекта Тип буфера
CPen LOGPEN
CBrush LOGBRUSH
CFont LOGFONT
CBitmap BITMAP
CPalette WORD
CRgn Не поддерживается
Все функциями вывода используют координаты заданные в логических единицах. По умолчанию в качестве логических координат используются физические координаты текущего окна. Физические координаты – это расстояние точки от верхнего левого угла окна в пикселях. При этом начало координат (точка x = 0, y = 0 ) располагается в верхнем левом углу, x-координата растёт слева направо, а y-координата – сверху вниз.
Если при создании изображения использовать логические координаты, то такие задачи, как пропорциональное изменение размеров или перемещение изображения можно элементарно решить с помощью изменения единиц измерения или перемещения системы координат, не изменяя написанного кода.
Функции из этой группы устанавливают и настраивают систему координат, которая используется всеми функциями вывода. Кроме единиц по осям x и у, функции этой группы задают направление осей и начало координат.
Назначение: устанавливает направление осей и определяет логические единицы, т.е. единицы измерения для задаваемой системы координат.
virtual int SetMapMode ( int nMapMode ) ;
Возвращаемое значение: предыдущее значение режима преобразования логических координат в физические.
Параметры:
nMapMode определяет новый режим преобразования логических координат в физические. Может принимать одно из следующих значений:
MM_TEXT логическая единица равна одному пикселю, ось у направлена вниз (режим по умолчанию)
MM_TWIPS логическая единица равна 1 твипу), ось у направлена вверх (20 твипов = 1 типографскому пункту, 1440 твипов = 1 дюйму
MM_HIENGLISH логическая единица равна 0.001 дюйма, ось у направлена вверх
MM_HIMETRIC логическая единица равна 0.01 миллиметра, ось у направлена вверх
MM_LOENGLISH логическая единица равна 0.01 дюйма, ось у направлена вверх
MM_LOMETRIC логическая единица равна 0.1 миллиметра, ось у направлена вверх
MM_ISOTROPIC режим позволяет настраивать с помощью функций SetWindowExt и SetViewportExt размерность осей и их направления, однако размерность оси х равна размерности оси у
MM_ANISOTROPIC режим позволяет настраивать с помощью функций SetWindowExt и SetViewportExt размерность осей координат и их направления (отдельно для каждой)
Для настройки размеров физической области вывода используются функции:
virtual CSize SetViewportExt ( int cx , int cy ) ;
virtual CSize SetViewportExt ( SIZE size ) ;
Для настройки размеров логической области вывода используются функции:
virtual CSize SetWindowExt ( int cx , int cy ) ;
virtual CSize SetWindowExt ( SIZE size ) ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.