GraphicsPathIterator::NextMarker(constGraphicsPath*) メソッド (gdipluspath.h)
GraphicsPathIterator::NextMarker メソッドは、この反復子の関連付けられたパスの次のマーカー区切りセクションを取得します。
構文
INT NextMarker(
[out] const GraphicsPath *path
);
パラメーター
[out] path
種類: GraphicsPath*
GraphicsPath オブジェクトへのポインター。 このメソッドは、取得したセクションのデータ ポイントと一致するように、この GraphicsPath オブジェクトのデータ ポイントを設定します。
戻り値
型: INT
このメソッドは、取得したセクションのデータ ポイントの数を返します。 取得するマーカー区切りセクションがこれ以上ない場合、このメソッドは 0 を返します。
解説
パスには、線と曲線を定義するデータ ポイントの配列があります。 パスの SetMarker メソッドを呼び出して、配列内の特定のポイントをマーカーとして指定できます。 これらのマーカー ポイントは、パスをセクションに分割します。
反復子の GraphicsPathIterator::NextMarker メソッドを初めて呼び出すと、その反復子の関連付けられたパスの最初のマーカー区切りセクションが取得されます。 2 回目は、2 番目のセクションを取得します。などです。 GraphicsPathIterator::NextSubpath を呼び出すたびに、取得したセクション内のデータ ポイントの数が返されます。 セクションが残っていない場合は、0 を返します。
例
次の例では 、GraphicsPath オブジェクトを作成し、パスに 5 つの図形を追加します。 SetMarker メソッドの呼び出しにより、パスに 2 つのマーカーが配置されます。 最初のマーカーは図形の末尾にあり、2 番目のマーカーは図の中央にあります。 このコードでは 、GraphicsPath オブジェクトのアドレスを GraphicsPathIterator コンストラクターに渡して、パスに関連付けられた反復子を作成します。 次に、反復子の GraphicsPathIterator::NextMarker メソッドを 2 回呼び出して、パスの 2 番目のマーカー区切りセクションを取得します。 最後に、コードはパスの取得されたセクションを描画します。
VOID NextMarkerExample(HDC hdc)
{
Graphics graphics(hdc);
// Create a graphics path with five figures (subpaths).
GraphicsPath path;
path.AddRectangle(Rect(20, 20, 60, 30));
path.SetMarker(); // first marker
path.AddLine(100, 20, 160, 50);
path.AddArc(180, 20, 60, 30, 0.0f, 180.0f);
path.AddRectangle(Rect(260, 20, 60, 30));
path.AddLine(340, 20, 400, 50);
path.SetMarker(); // second marker
path.AddArc(340, 20, 60, 30, 0.0f, 180.0f);
path.CloseFigure();
path.AddRectangle(Rect(420, 20, 60, 30));
// Create an iterator, and associate it with the path.
GraphicsPathIterator iterator(&path);
// Get the second marker-delimited section by calling NextMarker twice.
GraphicsPath section;
INT count;
count = iterator.NextMarker(§ion);
count = iterator.NextMarker(§ion);
// The variable "count" now holds the number of
// data points in the second marker-delimited section.
// Draw the retrieved section.
Pen bluePen(Color(255, 0, 0, 255));
graphics.DrawPath(&bluePen, §ion);
}
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdipluspath.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |