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(§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);
}
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