Condividi tramite


Metodo GraphicsPathIterator::NextMarker(constGraphicsPath*) (gdipluspath.h)

Il metodo GraphicsPathIterator::NextMarker ottiene la sezione successiva delimitata dal marcatore del percorso associato di questo iteratore.

Sintassi

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

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 sezione recuperata.

Valore restituito

Tipo: INT

Questo metodo restituisce il numero di punti dati nella sezione recuperata. Se non sono presenti altre sezioni delimitate da marcatori da recuperare, questo metodo restituisce 0.

Commenti

Un percorso ha una matrice di punti dati che definiscono le linee e le curve. È possibile chiamare il metodo SetMarker di un percorso per designare determinati punti nella matrice come marcatori. Tali punti marcatori suddividono il percorso in sezioni.

La prima volta che si chiama il metodo GraphicsPathIterator::NextMarker di un iteratore, ottiene la prima sezione delimitata dal marcatore del percorso associato dell'iteratore. La seconda volta, ottiene la seconda sezione e così via. Ogni volta che si chiama GraphicsPathIterator::NextSubpath, viene restituito il numero di punti dati nella sezione recuperata. Quando non ci sono sezioni rimanenti, restituisce 0.

Esempio

Nell'esempio seguente viene creato un oggetto GraphicsPath e vengono aggiunte cinque figure al percorso. Le chiamate al metodo SetMarker posizionano due marcatori nel percorso. Il primo marcatore si trova alla fine di una figura e il secondo marcatore si trova al centro di una figura. Il codice passa l'indirizzo dell'oggetto GraphicsPath a un costruttore GraphicsPathIterator per creare un iteratore associato al percorso. Il codice chiama quindi il metodo GraphicsPathIterator::NextMarker dell'iteratore due volte per ottenere la seconda sezione delimitata dal marcatore del percorso. Infine, il codice disegna la sezione recuperata del percorso.


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

Requisiti

   
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

Metodi GraphicsPathIterator::NextSubpath

NextMarker

Percorsi