Функция 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 | Нет | |
| Замечания по платформе | Не имеется | |