Практически все функции GDI требуют определения координат или размеров каких-либо графических объектов. Данные координаты задаются в т.н. «логических» единицах. Windows преобразует эти «логические» координаты или размеры в физические координаты данного устройства (пикселы). При этом преобразовании используются первые пять атрибутов контекста устройства, относящиеся к группе атрибутов режима отображения: начальные координаты, направление осей координат и масштаб координат для каждой оси.
Рассмотрим первый атрибут контекста устройства. Он определяет режим работы экрана. В следующей таблице представлены восемь возможных значений этого атрибута.
Флаг
| Логические единицы
| Направление оси
|
|
| X
| Y
|
MM_TEXT
| пикселы
| Вправо
| Вниз
|
MM_LOMETRIC
| 0.1 мм
| Вправо
| Вниз
|
MM_HIMETRIC
| 0.01 мм
| Вправо
| Вниз
|
MM_LOENGLISH
| 0.01 дюйма
| Вправо
| Вниз
|
MM_HIENGLISH
| 0.001 дюйма
| Вправо
| Вниз
|
MM_TWIPS
| 1/1140 дюйма
| Вправо
| Вниз
|
MM_ISOTROPIC
| x = y
| Можно выбирать
|
MM_ANISOTROPIC
| x!= y
| Можно выбирать
|
Можно установить любой из этих режимов при помощи функции SetMapMode:
SetMapMode (hDC, nMapMode);
Первый параметр функции содержит индекс контекста устройства, а второй – одно из значений, перечисленных в таблице.
При помощи функции GetMapMode можно определить текущий режим работы экрана:
nMapMode = GetMapMode (hDC);