GraphicsPathIterator::NextMarker(constGraphicsPath*)-Methode (gdipluspath.h)

Die GraphicsPathIterator::NextMarker-Methode ruft den nächsten durch Marker getrennten Abschnitt des zugeordneten Pfads dieses Iterators ab.

Syntax

INT NextMarker(
  [out] const GraphicsPath *path
);

Parameter

[out] path

Typ: GraphicsPath*

Zeiger auf ein GraphicsPath-Objekt . Diese Methode legt die Datenpunkte dieses GraphicsPath-Objekts so fest, dass sie mit den Datenpunkten des abgerufenen Abschnitts übereinstimmen.

Rückgabewert

Typ: INT

Diese Methode gibt die Anzahl der Datenpunkte im abgerufenen Abschnitt zurück. Wenn keine durch Marker getrennten Abschnitte mehr abgerufen werden müssen, gibt diese Methode 0 zurück.

Hinweise

Ein Pfad verfügt über ein Array von Datenpunkten, die seine Linien und Kurven definieren. Sie können die SetMarker-Methode eines Pfads aufrufen, um bestimmte Punkte im Array als Marker festzulegen. Diese Markerpunkte teilen den Pfad in Abschnitte auf.

Wenn Sie die GraphicsPathIterator::NextMarker-Methode eines Iterators zum ersten Mal aufrufen, ruft sie den ersten durch Marker getrennten Abschnitt des zugeordneten Pfads dieses Iterators ab. Beim zweiten Mal wird der zweite Abschnitt abgerufen usw. Jedes Mal, wenn Sie GraphicsPathIterator::NextSubpath aufrufen, wird die Anzahl der Datenpunkte im abgerufenen Abschnitt zurückgegeben. Wenn keine Abschnitte mehr vorhanden sind, wird 0 zurückgegeben.

Beispiele

Im folgenden Beispiel wird ein GraphicsPath-Objekt erstellt und dem Pfad fünf Abbildungen hinzugefügt. Die Aufrufe der SetMarker-Methode platzieren zwei Marker im Pfad. Der erste Marker befindet sich am Ende einer Abbildung, und der zweite Marker befindet sich in der Mitte einer Abbildung. Der Code übergibt die Adresse des GraphicsPath-Objekts an einen GraphicsPathIterator-Konstruktor , um einen Iterator zu erstellen, der dem Pfad zugeordnet ist. Anschließend ruft der Code zweimal die GraphicsPathIterator::NextMarker-Methode des Iterators auf, um den zweiten durch Marker getrennten Abschnitt des Pfads abzurufen. Schließlich zeichnet der Code den abgerufenen Abschnitt des Pfads.


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(&section);
   count = iterator.NextMarker(&section);

   // 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, &section);
}

Anforderungen

   
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::NextSubpath-Methoden

Nextmarker

Paths