次の方法で共有


CPen::CPen

CPen オブジェクトを構築します。

CPen( );
CPen(
   int nPenStyle,
   int nWidth,
   COLORREF crColor 
);
CPen(
   int nPenStyle,
   int nWidth,
   const LOGBRUSH* pLogBrush,
   int nStyleCount = 0,
   const DWORD* lpStyle = NULL 
);

パラメーター

  • nPenStyle
    ペンのスタイルを指定します。コンストラクターの最初のバージョンのこのパラメーターの値は次の 1 つです:

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

    • PS_DASH は破線のペンを作成します。ペン幅が 1 以下の場合にのみ、デバイス単位で有効です。

    • PS_DOT は点線のペンを作成します。ペン幅が 1 以下の場合にのみ、デバイス単位で有効です。

    • PS_DASHDOT には、代替ダッシュはドットを持つペンを作成します。ペン幅が 1 以下の場合にのみ、デバイス単位で有効です。

    • PS_DASHDOTDOT には、代替ダッシュと二重点を含むペンを作成します。ペン幅が 1 以下の場合にのみ、デバイス単位で有効です。

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

    • PS_INSIDEFRAME は外接する四角形を指定する Windows GDI の出力関数によって生成される閉じた図形のフレーム内の線を描画ペンを作成します (たとえば、[楕円][四角形]RoundRectPieChord のメンバー関数)。このスタイルが外接する四角形 (たとえば、LineTo のメンバー関数) を指定しない Windows GDI の出力関数とともに使用した場合、ペンの描画領域は、フレームにも。

    CPen のコンストラクターの 2 番目のバージョンは、型、スタイル、端点キャップと結合の属性の組み合わせを指定します。各カテゴリの値はビットごとに結合するように使用するか、演算子で (|)。ペンの型は、次の値の 1 つです:

    • PS_GEOMETRIC は、幾何学ペンを作成します。

    • PS_COSMETIC は化粧品のペンを作成します。

      CPen のコンストラクターの 2 番目のバージョンは nPenStyleの次のペンのスタイルを追加します:

    • PS_ALTERNATE は、他のすべてのピクセルを設定するペンを作成します。(このスタイルは化粧品のペン用にのみ適用されます。)

    • PS_USERSTYLE は、ユーザーが指定するスタイル配列を使用するペンを作成します。

      端点キャップは次の値の 1 つです:

    • PS_ENDCAP_ROUND 行の末尾は角です。

    • PS_ENDCAP_SQUARE 行の末尾は四角形です。

    • PS_ENDCAP_FLAT 行の末尾はフラットです。

      結合は、次の値の 1 つです:

    • PS_JOIN_BEVEL の結合は斜角が付きます。

    • PS_JOIN_MITER の結合は SetMiterLimit の関数によって現在のセットの範囲内にある場合、留め継ぎされます。結合がこの制限を超えた場合、斜角が付きます。

    • PS_JOIN_ROUND の結合は角です。

  • nWidth
    ペンの幅を指定します。

    • コンストラクターの最初のバージョンの場合、この値が 0 の場合、デバイス単位の幅はマップ モードに関係なく 1 ピクセル、常にです。

    • コンストラクターの 2 番目のバージョンでは、nPenStyle が PS_GEOMETRICの場合、幅は論理単位に示します。nPenStyle が PS_COSMETICの場合、幅は 1.に設定されている必要があります。

  • crColor
    ペンの RGB 色が含まれます。

  • pLogBrush
    LOGBRUSH の構造体へのポインター。nPenStyle が PS_COSMETIC場合、LOGBRUSH の構造体の lbColor のメンバーはペンの色を指定し、LOGBRUSH の構造体の lbStyle のメンバーは BS_SOLIDに設定する必要があります。nPenStyle が PS_GEOMETRICペンとブラシの属性を指定するために、すべてのメンバーがを使用する必要があります。

  • nStyleCount
    lpStyle、ダブル ワードの配列で、長さの単位を指定します。この値は nPenStyle が PS_USERSTYLEである場合はゼロである必要があります。

  • lpStyle
    DWORD 値の配列へのポインター。最初の値はユーザー定義の最初の破線スタイルの長さ、2 番目の値を指定します最初の空白の長さなどを指定します。このポインターは nPenStyle が PS_USERSTYLEである null である必要があります。

解説

引数を持たないコンストラクターを使用すると、CreatePenCreatePenIndirectCPen 結果のオブジェクトを初期化する CreateStockObject のメンバー関数します。

引数を受け取るコンストラクターを使用する場合、それ以上の初期化は必要ではありません。引数を持つコンストラクターには引数なしのコンストラクターは常に成功しますがエラーが発生した場合、例外をスローすることができます。

使用例

// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));

// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);

必要条件

ヘッダー: afxwin.h

参照

関連項目

CPen クラス

階層図

CPen::CreatePen

CPen::CreatePenIndirect

CGdiObject::CreateStockObject