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
GraphicsPathIterator::GetSubpathCount
GraphicsPathIterator::NextMarker-Methoden