次の方法で共有


CDC::GetPath

デバイス コンテキストに選択されているパスの直線の両端の点と曲線の制御点を定義する座標を取得します。

int GetPath(
   LPPOINT lpPoints,
   LPBYTE lpTypes,
   int nCount 
) const;

パラメーター

  • lpPoints
    [ポイント] のデータ構造または行のエンドポイントと曲線の制御点を設定 CPoint のオブジェクトの配列へのポインター。

  • lpTypes
    頂点の種類を設定するバイトの配列へのポインター。値は、次のどちらかです:

    • PT_MOVETO は lpPoints の対応する位置が送信図形を開始することを指定します。

    • PT_LINETO は lpPoints の前の点および対応するポイントが行のエンドポイントであることを指定します。

    • PT_BEZIERTO は lpPoints の対応する点がのベジエ曲線の制御点または終了点であることを指定します。

      PT_BEZIERTO の型は 3 セットで常に実行されます。これらの前のパスにはのベジエ曲線の開始点を定義します。PT_BEZIERTO の最初の 2 点は制御点で、ハードコーディングされた場合) PT_BEZIERTO の 3 番目の点は終点 (です。

      PT_LINETO または PT_BEZIERTO の種類は、次のフラグで (ビットごとの演算子を使用すること OR)、対応するポイントは図形の最後の点であり、図が終了する必要があることを示すために結合する可能性があります:

    • PT_CLOSEFIGURE は、対応する行または曲線の描画後に図を自動的に閉じることを指定します。図には、最後の PT_MOVETOに対応する行または曲線の終了点の位置に線を描画して閉じます。

  • nCount
    lpPoints の配列に設定される [ポイント] のデータ構造の合計数を指定します。この値は lpTypes の配列に設定されるバイト数と同じである必要があります。

戻り値

nCount のパラメーターが以外の場合、列挙されるポイントの数。nCount が 0 の場合、パス (および GetPath の点の総数バッファーには何も書き込まれません。) nCount が以外に、パスのポイントの数よりも小さい場合、戻り値は -1 です。

解説

デバイス コンテキストが閉じたパスを含める必要があります。パスのポイントは論理座標で返されます。ポイントがデバイス座標のパスため、デバイス座標から論理座標への GetPath の変更の現在の変換の反転を使用してポイント格納されます。FlattenPath のメンバー関数は GetPathの前に線分のパスのすべての曲線を変換するために呼び出されることがあります。

使用例

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

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDC クラス

階層図

CDC::FlattenPath

CDC::PolyDraw

CDC::WidenPath