Функция SetMapMode устанавливает режим отображения указанного контекста устройства. Режим отображения определяет единицу измерения, используемые для преобразования единиц измерения пространства страницы в единицы измерения пространства устройства, а также определяет ориентацию осей X и Y устройства.
Синтаксис
int SetMapMode( HDC hdc, // дескриптор контекста устройства int fnMapMode // новый режим отображения ); |
hdc
[in] Дескриптор контекста устройства.
fnMapMode
[in] Определяет новый режим отображения. Этот параметр может быть одним из нижеследующих значений.
Значение | Описание |
---|---|
MM_ANISOTROPIC | Логические единицы измерения отображаются произвольными единицами измерения с произвольно масштабируемыми осями. Используйте функции SetWindowExtEx и SetViewportExtEx, чтобы определить эти единицы измерения, ориентацию и масштаб. |
MM_HIENGLISH | Каждая логическая единица измерения отображается как 0.001 дюйма. Положительные значения x идут вправо; положительные значения y - вверх. |
MM_HIMETRIC | Каждая логическая единица измерения отображается как 0.01 миллиметра. Положительные значения x идут вправо; положительные значения y - вверх. |
MM_ISOTROPIC | Логические единицы измерения отображаются произвольными единицами с одинаково масштабируемыми осями; то есть, одна единица по оси X равна одной единице по оси Y. Используйте функции SetWindowExtEx и SetViewportExtEx, чтобы определить эти единицы и ориентацию осей. Интерфейс графического устройства (GDI) вносит поправки по мере необходимости, чтобы гарантировать, что единицы измерения по x и y остаются с тем же самым размером. (Когда устанавливаются размеры окна, область просмотра будет выравнивается так, чтобы сохранить единицы измерения изотропическими). |
MM_LOENGLISH | Каждая логическая единица измерения отображается как 0.01 дюйма. Положительные значения x идут вправо; положительные значения y - вверх. |
MM_LOMETRIC | Каждая логическая единица измерения отображается как 0.1 миллиметра. Положительные значения x идут вправо; положительные значения y - вверх. |
MM_TEXT | Каждая логическая единица измерения отображается как один пиксель устройства. Положительные значения x идут вправо; положительные значения y - вниз. |
MM_TWIPS | Каждая логическая единица измерения отображается как 1/20 полиграфического пункта (1/1440 дюйма, также называемого "твип" (twip)). Положительные значения x идут вправо; положительные значения y - вверх. |
Если функция завершается успешно, возвращаемое значение идентифицирует предыдущий режим отображения.
Если функция завершается ошибкой, возвращаемое значение - нуль.
Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Режим MM_TEXT дает возможность приложениям работать с пикселями устройства, размер которых изменяется от устройства к устройству.
Режимы MM_HIENGLISH, MM_HIMETRIC, MM_LOENGLISH, MM_LOMETRIC и MM_TWIPS полезны для приложений, рисующих в физически значимых единицах измерения (таких как дюймы или миллиметры).
Режим MM_ISOTROPIC гарантирует 1:1 формат изображения.
Режим MM_ANISOTROPIC дает возможность координатам x и координатам y настраиваться независимо.
Пример смотри в статье Использование координатных пространств и преобразований.
Смотри также
Обзор Координатные пространства и преобразования, Функции, используемые координатными пространствами и преобразованиями, GetMapMode, SetViewportExtEx, SetViewportOrgEx, SetWindowExtEx, SetWindowOrgEx
Размещение и совместимость SetMapMode |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 3.1 и старше |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows Server 2003 | Нет |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека | Gdi32.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wingdi.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |