Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

Cdc::SelectObject

CPen* SelectObject( CPen* pPen );

CBrush* SelectObject( CBrush* pBrush );

virtual CFont* SelectObject( CFont* pFont );

CBitmap* SelectObject( CBitmap* pBitmap );

int SelectObject( CRgn* pRgn );

Возвращаемое значение

Указатель на замещаемый объект одного из классов, производных от класса CGdiObject, например на объект класса CPen. Тип возвращаемого значения зависит от версии используемой функции. В случае возникновения ошибки возвращается нулевое значение. Эта функция может возвращать указатель на временный объект. Это означает, что указатель на данный объект можно использовать только в пределах функции обработки одного сообщения Windows. Более подробная информация содержится в описании функции CGdiObject::FromHandle.

Версия функции, аргументом которой является указатель на объект класса CRgn, выполняет ту же функцию, что и функция SelectClipRgn. Её возвращаемая величина может принимать следующие значения:

  • COMPLEXREGION — новая область отсечки имеет пересекающиеся границы.

  • ERROR — ошибка при задании контекста устройства или недопустимая область отсечки.

  • NULLREGION — новая область отсечки представляет собой пустую область.

  • SIMPLEREGION — новая область отсечки не имеет пересекающихся границ.

Аргументы

  1. pPen — указатель на объект класса CPen.

  2. pBrush — указатель на объект класса CBrush.

  3. pFont — указатель на объект класса CFont.

  4. pBitmap — указатель на объект класса CBitmap.

  5. pRgn — указатель на объект класса CRgn.

Примечание

Выбирает объект класса в контекст устройства. Класс CDC содержит пять версий данной функции, отличающихся типом аргумента и возвращаемого значения. В качестве аргументов данной функции могут выступать объекты классов пера, кисти, шрифта, битового образа и области. Выбранный в контекст объект замещает соответствующий объект в контексте устройства. Например, если аргумент pObject обобщённой версии данной функции указывает на объект класса CPen, то данная функция замещает в данном контексте устройства текущее перо на перо, указанной в аргументе pObject.

Приложение может выбирать битовый образ только в контекст устройства памяти и этот битовый образ не может быть выбран одновременно в два и более контекстов устройства памяти. Формат битового образа должен быть монохромным или совместимым с контекстом данного устройства. В противном случае функция SelectObject возвращает ошибку.

В версии Windows 3.1 и более поздних версиях функция SelectObject возвращает ту же самую величину независимо от того, используется ли она в метафайлах или нет. В предыдущих версиях данная функция при вызове её в метафайлах возвращала ненулевое значение в случае своего успешного завершения, и нулевое значение в противном случае.

Cdc::SetMapMode

virtual int SetMapMode( int nMapMode );

Возвращаемое значение

Предыдущий режим отображения.

Аргументы

  1. nMapMode — определяет новый режим отображения. Может принимать одно из следующих значений:

  • MM_ANISOTROPIC — логические единицы преобразуются в произвольные единицы с произвольным направлением осей координат. Установка режима отображения MM_ANISOTROPIC не изменяет установок в текущем окне и в текущей рабочей области окна. Для изменения единиц измерения, ориентации и масштаба вызываются функции SetWindowExt и SetViewportExt.

  • MM_HIENGLISH — каждая логическая единица преобразуется в 0.001 дюйма. Рост величин по горизонтальной оси приводит к перемещению вправо, а рост величин по вертикальной оси приводит к перемещению вверх.

  • MM_HIMETRIC — каждая логическая единица преобразуется в 0.01 миллиметра. Рост величин по горизонтальной оси приводит к перемещению вправо, а рост величин по вертикальной оси приводит к перемещению вверх.

  • MM_ISOTROPIC — логические единицы преобразуются в произвольные единицы с произвольным направлением осей координат, но с одинаковым масштабом по осям. Для изменения единиц измерения, ориентации и масштаба вызываются функции SetWindowExt и SetViewportExt. Для обеспечения одинакового масштаба отображения по осям GDI производит необходимые настройки.

  • MM_LOENGLISH — каждая логическая единица преобразуется в 0.01 дюйма. Рост величин по горизонтальной оси приводит к перемещению вправо, а рост величин по вертикальной оси приводит к перемещению вверх.

  • MM_LOMETRIC — каждая логическая единица преобразуется в 0.1 миллиметра. Рост величин по горизонтальной оси приводит к перемещению вправо, а рост величин по вертикальной оси приводит к перемещению вверх.

  • MM_TEXT — каждая логическая единица преобразуется в 1 элемент изображения. Рост величин по горизонтальной оси приводит к перемещению вправо, а рост величин по вертикальной оси приводит к перемещению вниз.

  • MM_TWIPS — каждая логическая единица преобразуется в 1/20 пики (поскольку пика составляет 1/72 дюйма, то данная величина составляет 1/1440 дюйма). Рост величин по горизонтальной оси приводит к перемещению вправо, а рост величин по вертикальной оси приводит к перемещению вверх.

Примечание

Устанавливает режим отображения. Режим отображения определяет единицы измерения, используемые при преобразовании логических единиц в единицы устройства. Кроме того, режим отображения определяет направление осей координат. Режим отображения MM_TEXT позволяет приложению непосредственно работать с элементами изображения устройства. В этом случае одна логическая единица соответствует одному элементу изображения устройства. Физический размер элементов изображения зависит от конкретного устройства.

Режимы отображения MM_HIENGLISH, MM_HIMETRIC, MM_LOENGLISH, MM_LOMETRIC и MM_TWIPS используются при выводе изображений, размеры которых не зависят от устройства, на котором они выводятся. Режим отображения MM_ISOTROPIC обеспечивает соотношение масштабов горизонтальной и вертикальной оси, равное 1:1. В режиме отображения MM_ANISOTROPIC горизонтальная и вертикальная оси имеют независимый масштаб.

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