次の方法で共有


LOGPEN 構造体

更新 : 2007 年 11 月

LOGPEN 構造体は、ペンのスタイル、幅、色を定義します。ペンとは、直線や境界を描画するときに使われる描画オブジェクトです。CPen::CreatePenIndirect 関数が LOGPEN 構造体を使います。

typedef struct tagLOGPEN {  /* lgpn */
   UINT lopnStyle;
   POINT lopnWidth;
   COLORREF lopnColor;
} LOGPEN;

パラメータ

  • lopnStyle
    ペンのスタイルを指定します。このメンバには、次のいずれかの値を指定できます。

    • PS_SOLID   実線のペンを作成します。

    • PS_DASH   破線のペンを作成します。ペンの幅が 1 のときだけ有効です。

    • PS_DOT   点線のペンを作成します。ペンの幅が 1 のときだけ有効です。

    • PS_DASHDOT   一点破線のペンを作成します。ペンの幅が 1 のときだけ有効です。

    • PS_DASHDOTDOT   二点破線のペンを作成します。ペンの幅が 1 のときだけ有効です。

    • PS_NULL   null のペンを作成します。

    • PS_INSIDEFRAME   外接する四角形を指定する GDI 出力関数 (Ellipse メンバ関数、Rectangle メンバ関数、RoundRectメンバ関数、Pie メンバ関数、Chord メンバ関数など) により作成される閉じた図形の枠内に直線を描画するためのペンを作成します。外接する四角形を指定しない GDI 関数 (LineTo メンバ関数など) にこのスタイルが使われると、ペンの描画領域は枠の中に限定されません。

      ペンのスタイルが PS_INSIDEFRAME で、色が論理カラー テーブルの色に一致しない場合、ペンでは描画にディザ カラーが使用されます。PS_SOLID のペン スタイルを使用して、ディザ カラーのペンを作成することはできません。ペンの幅が 1 以下のときは、PS_INSIDEFRAME スタイルは PS_SOLID と同じになります。

      EllipseRectangle、および RoundRect 以外の関数によって生成される GDI オブジェクトに PS_INSIDEFRAME スタイルを使うと、線が指定された枠内に完全に収まらないことがあります。

  • lopnWidth
    ペンの幅を論理単位で指定します。lopnWidth メンバが 0 のときは、現在のマップ モードにかかわらず、ラスタ デバイス上でのペンの幅は 1 ピクセルになります。

  • lopnColor
    ペンの色を指定します。

解説

lopnWidth メンバでは POINT 構造体の y の値は使われません。

必要条件

ヘッダー : wingdi.h

参照

参照

CPen::CreatePenIndirect

その他の技術情報

構造体、スタイル、コールバック関数とメッセージ マップ