次の方法で共有


CDC::PolyDraw

一連の線分とベジエ スプラインを描画します。

BOOL PolyDraw(
   const POINT* lpPoints,
   const BYTE* lpTypes,
   int nCount 
);

パラメーター

  • lpPoints
    各線分の端点と各ベジエ スプラインの終点と制御点を持つ POINT データ構造体の配列へのポインター。

  • lpTypes
    lpPoints 配列内の各点の使用方法を指定する配列へのポインター。 次の値のいずれかを指定できます。

    • PT_MOVETO   この点から連結されない図形が開始されることを指定します。 この点が新しい現在位置になります。

    • PT_LINETO   現在位置からこの点まで直線が描画されることを指定します。この点が新しい現在位置になります。

    • PT_BEZIERTO   この点がベジエ スプラインの制御点または終点であることを指定します。

      PT_BEZIERTO 型は、常に 3 点の組み合わせになります。 現在位置はベジエ スプラインの始点を規定します。 最初の 2 つの PT_BEZIERTO 点は制御点で、3 番目の PT_BEZIERTO 点は終点になります。 終点が新しい現在位置になります。 連続した 3 つの PT_BEZIERTO 点がなかったときはエラーになります。

      PT_LINETO 型または PT_BEZIERTO 型は次の定数とビットごとの OR 演算子を使って組み合わせることができ、対応する点が図形の最後の点で、その点で図形を閉じること示します。

    • PT_CLOSEFIGURE   PT_LINETO 型または PT_BEZIERTO 型のこの点が描画された後、図形は自動的に閉じられます。 この点から、直前の PT_MOVETO または MoveTo 点まで直線を描画します。

      このフラグは、ビットごとの OR 演算子を使って、直線では PT_LINETO 型と、ベジエ スプラインでは PT_BEZIERTO 型の終点と組み合わせることができます。 現在位置は図形を閉じた直線の終点に設定されます。

  • nCount
    lpPoints 配列内の点の総数を指定します。lpTypes 配列のバイト数と同じになります。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

CDC::MoveToCDC::LineToCDC::PolyBezierTo メンバー関数を連続して呼び出す代わりに、連結されていない図形を描画するためにこの関数を使います。 直線とスプラインは現在のペンを使って描画され、図形は塗りつぶされません。 CDC::BeginPath メンバー関数を呼び出して開始されたアクティブなパスがあるときは、PolyDraw はパスに追加します。 点は lpPoints 配列に保持され、lpTypes 内のデータは各点が CDC::MoveToCDC::LineToCDC::BezierTo 操作のどの一部になっているかを示します。 また、図形を閉じることもできます。 この関数は現在位置を更新します。

使用例

CDC::BeginPath」の例を参照してください。

必要条件

**ヘッダー:**afxwin.h

参照

参照

CDC クラス

階層図

CDC::BeginPath

CDC::EndPath

CDC::LineTo

CDC::MoveTo

CDC::PolyBezierTo

CDC::Polyline

PolyDraw

その他の技術情報

CDC のメンバー