CDC::SetMapMode
更新 : 2007 年 11 月
マップ モードを設定します。
virtual int SetMapMode(
int nMapMode
);
パラメータ
nMapMode
新しいマップ モードを指定します。次のいずれかの値になります。MM_ANISOTROPIC 論理単位は、任意にスケーリングされた軸上の任意の単位に変換されます。マップ モードに MM_ANISOTROPIC を設定しても、現在のウィンドウまたはビューポートの設定は変更されません。単位、向き、スケーリングを変更するときは、SetWindowExt メンバ関数と SetViewportExt メンバ関数を使う必要があります。
MM_HIENGLISH それぞれの論理単位は、0.001 インチに変換されます。x 座標の正方向は右、y 座標の正方向は上になります。
MM_HIMETRIC それぞれの論理単位は、0.01 mm に変換されます。x 座標の正方向は右、y 座標の正方向は上になります。
MM_ISOTROPIC 論理単位は、等しくスケーリングされた軸上の任意の単位に変換されます。 x 軸方向の 1 単位は、y 軸方向の 1 単位と同じになります。両軸の希望する単位と向きを指定するときは、SetWindowExt メンバ関数と SetViewportExt メンバ関数を使います。GDI は、必要に応じて、x 単位と y 単位が同じサイズになるように調整します。
MM_LOENGLISH それぞれの論理単位は、0.01 インチに変換されます。x 座標の正方向は右、y 座標の正方向は上になります。
MM_LOMETRIC それぞれの論理単位は、0.1 mm に変換されます。x 座標の正方向は右、y 座標の正方向は上になります。
MM_TEXT それぞれの論理単位は、1 デバイス ピクセルに変換されます。x 座標の正方向は右、y 座標の正方向は下になります。
MM_TWIPS それぞれの論理単位は、1 ポイントの 1/20 に変換されます。1 ポイントは 1/72 インチなので、1 twip は 1/1440 インチになります。x 座標の正方向は右、y 座標の正方向は上になります。
戻り値
直前のマップ モードを返します。
解説
マップ モードは、論理単位をデバイス単位に変換するときの縮尺を定義し、デバイスの x 軸と y 軸の向きも定義します。GDI は、マップ モードを使って、論理座標を適切なデバイス座標に変換します。MM_TEXT モードを使うと、アプリケーションが作業するデバイス ピクセルは、1 ピクセルが 1 単位になります。ピクセルの物理サイズは、デバイスごとに異なります。
MM_HIENGLISH、MM_HIMETRIC、MM_LOENGLISH、MM_LOMETRIC、MM_TWIPS モードは、アプリケーションが物理単位 (インチや mm のような) で描画するときに便利です。MM_ISOTROPIC モードは、縦横比が 1:1 なので、イメージの正確な形を保存する必要があるときに便利です。MM_ANISOTROPIC モードは、x 座標と y 座標を個別に調節できるようにします。
メモ : |
---|
デバイス コンテキストを右から左へのレイアウトに変更するために SetLayout を呼び出すと、SetLayout が自動的にマップ モードを MM_ISOTROPIC に変更します。 |
使用例
「CView::OnPrepareDC」の例を参照してください。
必要条件
ヘッダー : afxwin.h