Compartilhar via


Método GraphicsPathIterator::Rewind (gdipluspath.h)

O método GraphicsPathIterator::Rewind retrocede esse iterador para o início de seu caminho associado.

Sintaxe

void Rewind();

Valor retornado

Nenhum

Comentários

Na primeira vez que você chamar o método NextSubpath de um iterador, ele obterá a primeira figura (subcaminho) do caminho associado desse iterador. Na segunda vez, ele obtém a segunda figura, e assim por diante. Quando você chama GraphicsPathIterator::Rewind, a sequência começa novamente; ou seja, depois de chamar GraphicsPathIterator::Rewind, a próxima chamada para GraphicsPathIterator::NextSubpath obtém a primeira figura no caminho. Os métodos GraphicsPathIterator::NextMarker e GraphicsPathIterator::NextPathType se comportam da mesma forma.

Exemplos

O exemplo a seguir cria um objeto GraphicsPath e adiciona cinco figuras ao caminho. O código passa o endereço desse objeto GraphicsPath para um construtor GraphicsPathIterator para criar um iterador associado ao caminho. O código chama o método GraphicsPathIterator::NextSubpath do iterador duas vezes para recuperar a segunda figura no caminho. O método DrawPath desenha esse caminho em azul. Em seguida, o código chama o método GraphicsPathIterator::Rewind e, em seguida, chama GraphicsPathIterator::NextSubpath uma vez para obter a primeira figura no caminho. O método DrawPath desenha essa figura em vermelho.


VOID RewindExample(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);

   // Draw the second figure in blue.
   Pen bluePen(Color(255, 0, 0, 255));
   graphics.DrawPath(&bluePen, &subpath);

   // Rewind the iterator, and get the first figure in the path.
   iterator.Rewind();
   count = iterator.NextSubpath(&subpath, &isClosed);

   // Draw the first figure in red.
   Pen redPen(Color(255, 255, 0, 0));
   graphics.DrawPath(&redPen, &subpath);
}

Requisitos

   
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdipluspath.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Construindo e desenhando demarcadores

Graphicspath

Graphicspathiterator

Métodos GraphicsPathIterator::NextMarker

GraphicsPathIterator::NextPathType

Métodos GraphicsPathIterator::NextSubpath

Caminhos