SetMapMode 関数 (wingdi.h)
SetMapMode 関数は、指定したデバイス コンテキストのマッピング モードを設定します。 マッピング モードでは、ページ空間単位をデバイス空間単位に変換するために使用される測定単位を定義し、デバイスの x 軸と y 軸の向きも定義します。
構文
int SetMapMode(
[in] HDC hdc,
[in] int iMode
);
パラメーター
[in] hdc
デバイス コンテキストへのハンドル。
[in] iMode
新しいマッピング モード。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
論理単位は、任意にスケーリングされた軸を持つ任意の単位にマップされます。 単位、向き、およびスケーリングを指定するには、 SetWindowExtEx 関数と SetViewportExtEx 関数を使用します。 |
|
各論理ユニットは 0.001 インチにマップされます。 正の x は右です。正の y は上向きです。 |
|
各論理単位は 0.01 ミリメートルにマップされます。 正の x は右です。正の y は上向きです。 |
|
論理単位は、等しくスケーリングされた軸を持つ任意の単位にマップされます。つまり、x 軸に沿った 1 つの単位は、y 軸に沿った 1 つの単位と等しくなります。 SetWindowExtEx 関数と SetViewportExtEx 関数を使用して、軸の単位と向きを指定します。 グラフィックス デバイス インターフェイス (GDI) は、必要に応じて調整を行い、x 単位と y 単位のサイズが同じになるようにします (ウィンドウ範囲が設定されている場合、ビューポートは単位を等方性に保つように調整されます)。 |
|
各論理ユニットは 0.01 インチにマップされます。 正の x は右です。正の y は上向きです。 |
|
各論理単位は 0.1 ミリメートルにマップされます。 正の x は右です。正の y は上向きです。 |
|
各論理ユニットは、1 つのデバイス ピクセルにマップされます。 正の x は右です。正の y はダウンしています。 |
|
各論理ユニットは、プリンターのポイントの 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 |