次の方法で共有


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_HIENGLISHMM_HIMETRICMM_LOENGLISHMM_LOMETRICMM_TWIPS モードは、アプリケーションが物理単位 (インチや mm のような) で描画するときに便利です。MM_ISOTROPIC モードは、縦横比が 1:1 なので、イメージの正確な形を保存する必要があるときに便利です。MM_ANISOTROPIC モードは、x 座標と y 座標を個別に調節できるようにします。

hzy9cbxf.alert_note(ja-jp,VS.90).gifメモ :

デバイス コンテキストを右から左へのレイアウトに変更するために SetLayout を呼び出すと、SetLayout が自動的にマップ モードを MM_ISOTROPIC に変更します。

使用例

CView::OnPrepareDC」の例を参照してください。

必要条件

ヘッダー : afxwin.h

参照

参照

CDC クラス

階層図

CDC::SetViewportExt

CDC::SetWindowExt

SetMapMode

その他の技術情報

CDC のメンバ