SetMapMode 関数 (wingdi.h)

SetMapMode 関数は、指定したデバイス コンテキストのマッピング モードを設定します。 マッピング モードでは、ページ空間単位をデバイス空間単位に変換するために使用される測定単位を定義し、デバイスの x 軸と y 軸の向きも定義します。

構文

int SetMapMode(
  [in] HDC hdc,
  [in] int iMode
);

パラメーター

[in] hdc

デバイス コンテキストへのハンドル。

[in] iMode

新しいマッピング モード。 このパラメーターには、次の値のいずれかを指定できます。

意味
MM_ANISOTROPIC
論理単位は、任意にスケーリングされた軸を持つ任意の単位にマップされます。 単位、向き、およびスケーリングを指定するには、 SetWindowExtEx 関数と SetViewportExtEx 関数を使用します。
MM_HIENGLISH
各論理ユニットは 0.001 インチにマップされます。 正の x は右です。正の y は上向きです。
MM_HIMETRIC
各論理単位は 0.01 ミリメートルにマップされます。 正の x は右です。正の y は上向きです。
MM_ISOTROPIC
論理単位は、等しくスケーリングされた軸を持つ任意の単位にマップされます。つまり、x 軸に沿った 1 つの単位は、y 軸に沿った 1 つの単位と等しくなります。 SetWindowExtEx 関数と SetViewportExtEx 関数を使用して、軸の単位と向きを指定します。 グラフィックス デバイス インターフェイス (GDI) は、必要に応じて調整を行い、x 単位と y 単位のサイズが同じになるようにします (ウィンドウ範囲が設定されている場合、ビューポートは単位を等方性に保つように調整されます)。
MM_LOENGLISH
各論理ユニットは 0.01 インチにマップされます。 正の x は右です。正の y は上向きです。
MM_LOMETRIC
各論理単位は 0.1 ミリメートルにマップされます。 正の x は右です。正の y は上向きです。
Mm_text
各論理ユニットは、1 つのデバイス ピクセルにマップされます。 正の x は右です。正の y はダウンしています。
MM_TWIPS
各論理ユニットは、プリンターのポイントの 20 分の 1 にマップされます (1/1440 インチ (twip とも呼ばれます)。 正の x は右です。正の y は上向きです。

戻り値

関数が成功した場合、戻り値は前のマッピング モードを識別します。

関数が失敗した場合は、0 を返します。

注釈

MM_TEXT モードを使用すると、アプリケーションはデバイス ピクセルで動作し、そのサイズはデバイスごとに異なります。

MM_HIENGLISH、MM_HIMETRIC、MM_LOENGLISH、MM_LOMETRIC、およびMM_TWIPSモードは、物理的に意味のある単位 (インチやミリメートルなど) で描画するアプリケーションに役立ちます。

MM_ISOTROPICモードでは、縦横比が 1:1 になります。

MM_ANISOTROPICモードでは、x 座標と y 座標を個別に調整できます。

例については、「 座標空間と変換の使用」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

こちらもご覧ください

座標空間と変換関数

座標空間と変換の概要

GetMapMode

SetViewportExtEx

SetViewportOrgEx

SetWindowExtEx

SetWindowOrgEx