Metodo GraphicsPathIterator::NextSubpath(constGraphicsPath*,BOOL*) (gdipluspath.h)
Il metodo GraphicsPathIterator::NextSubpath ottiene la figura successiva (subpath) dal percorso associato di questo iteratore.
Sintassi
INT NextSubpath(
[out] const GraphicsPath *path,
[out] BOOL *isClosed
);
Parametri
[out] path
Tipo: GraphicsPath*
Puntatore a un oggetto GraphicsPath . Questo metodo imposta i punti dati di questo oggetto GraphicsPath in modo che corrispondano ai punti dati della figura recuperata.
[out] isClosed
Tipo: BOOL*
Puntatore a un valore BOOL che riceve un valore che indica se la figura recuperata è chiusa. Se la figura è chiusa, il valore ricevuto è TRUE; in caso contrario, il valore ricevuto è FALSE.
Valore restituito
Tipo: INT
Questo metodo restituisce il numero di punti dati nella figura recuperata. Se non sono presenti più cifre da recuperare, questo metodo restituisce 0.
Commenti
La prima volta che si chiama il metodo GraphicsPathIterator::NextSubpath di un iteratore, ottiene la prima figura (subpath) del percorso associato dell'iteratore. La seconda volta, ottiene la seconda figura e così via. Ogni volta che si chiama GraphicsPathIterator::NextSubpath, restituisce il numero di punti dati nella figura recuperata. Quando non sono presenti cifre rimanenti, restituisce 0.
Esempio
Nell'esempio seguente viene creato un oggetto GraphicsPath e vengono aggiunte cinque figure (denominate anche sottopath) al percorso. Il codice passa l'indirizzo dell'oggetto GraphicsPath a un costruttore GraphicsPathIterator per creare un iteratore associato al percorso. Il codice chiama il metodo GraphicsPathIterator::NextSubpath due volte per recuperare la seconda figura (subpath) dal percorso. Il codice chiama quindi il metodo DrawPath di un oggetto Graphics per disegnare tale singolo sottopath.
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);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP, Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | gdipluspath.h (include Gdiplus.h) |
Libreria | Gdiplus.lib |
DLL | Gdiplus.dll |
Vedi anche
Costruzione e creazione di percorsi
GraphicsPathIterator::GetSubpathCount