Freigeben über


GraphicsPathIterator::NextSubpath(constGraphicsPath*,BOOL*)-Methode (gdipluspath.h)

Die GraphicsPathIterator::NextSubpath-Methode ruft die nächste Abbildung (Unterpfad) aus dem zugeordneten Pfad dieses Iterators ab.

Syntax

INT NextSubpath(
  [out] const GraphicsPath *path,
  [out] BOOL               *isClosed
);

Parameter

[out] path

Typ: GraphicsPath*

Zeiger auf ein GraphicsPath-Objekt . Diese Methode legt die Datenpunkte dieses GraphicsPath-Objekts so fest, dass sie den Datenpunkten der abgerufenen Abbildung entsprechen.

[out] isClosed

Typ: BOOL*

Zeiger auf eine BOOL , die einen Wert empfängt, der angibt, ob die abgerufene Abbildung geschlossen ist. Wenn die Abbildung geschlossen ist, ist der empfangene Wert TRUE. andernfalls ist der empfangene Wert FALSE.

Rückgabewert

Typ: INT

Diese Methode gibt die Anzahl der Datenpunkte in der abgerufenen Abbildung zurück. Wenn keine weiteren Abbildungen abgerufen werden können, gibt diese Methode 0 zurück.

Hinweise

Wenn Sie die GraphicsPathIterator::NextSubpath-Methode eines Iterators zum ersten Mal aufrufen, wird die erste Abbildung (Unterpfad) des zugeordneten Pfads dieses Iterators abgerufen. Beim zweiten Mal wird die zweite Abbildung abgerufen usw. Jedes Mal, wenn Sie GraphicsPathIterator::NextSubpath aufrufen, gibt er die Anzahl der Datenpunkte in der abgerufenen Abbildung zurück. Wenn keine Zahlen mehr vorhanden sind, wird 0 zurückgegeben.

Beispiele

Im folgenden Beispiel wird ein GraphicsPath-Objekt erstellt und dem Pfad fünf Abbildungen (auch Als Unterpfade bezeichnet) hinzugefügt. Der Code übergibt die Adresse des GraphicsPath-Objekts an einen GraphicsPathIterator-Konstruktor , um einen Iterator zu erstellen, der dem Pfad zugeordnet ist. Der Code ruft die GraphicsPathIterator::NextSubpath-Methode des Iterators zweimal auf, um die zweite Abbildung (Unterpfad) aus dem Pfad abzurufen. Anschließend ruft der Code die DrawPath-Methode eines Graphics-Objekts auf, um diesen einzelnen Unterpfad zu zeichnen.


VOID NextSubpathExample(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a graphics path with five figures (subpaths).
   GraphicsPath path;

   path.AddRectangle(Rect(20, 20, 60, 30));   // Subpath count is 1.

   path.AddLine(100, 20, 160, 50);            // Subpath count is 2.
   path.AddArc(180, 20, 60, 30, 0.0f, 180.0f);

   path.AddRectangle(Rect(260, 20, 60, 30));  // Subpath count is 3.

   path.AddLine(340, 20, 400, 50);            // Subpath count is 4.
   path.AddArc(340, 20, 60, 30, 0.0f, 180.0f);
   path.CloseFigure();
  
   path.AddRectangle(Rect(420, 20, 60, 30));  // Subpath count is 5.
 
   // Create an iterator, and associate it with the path.
   GraphicsPathIterator iterator(&path);

   // Get the second subpath by calling NextSubpath twice.
   GraphicsPath subpath;
   BOOL isClosed;
   INT count;
   count = iterator.NextSubpath(&subpath, &isClosed);
   count = iterator.NextSubpath(&subpath, &isClosed);

   // The variable "count" now holds the number of 
   // data points in the second subpath.

   // Draw the retrieved subpath.
   Pen bluePen(Color(255, 0, 0, 255));
   graphics.DrawPath(&bluePen, &subpath);
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdipluspath.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Erstellen und Zeichnen von Pfaden

GetPathData

Graphicspath

Graphicspathiterator

GraphicsPathIterator::GetSubpathCount

GraphicsPathIterator::NextMarker-Methoden

Graphicspathiterator.nextsubpath

Paths