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

GetPathData

GraphicsPath

GraphicsPathIterator

GraphicsPathIterator::GetSubpathCount

Metodi GraphicsPathIterator::NextMarker

NextSubpath

Percorsi