GraphicsPathIterator::Rewind 方法 (gdipluspath.h)
GraphicsPathIterator::Rewind方法會將這個反覆運算器倒轉至其相關聯路徑的開頭。
Syntax
void Rewind();
傳回值
無
備註
第一次呼叫反覆運算器的 NextSubpath 方法時,它會取得該反覆運算器相關聯路徑) (子路徑的第一個圖。 第二次,它會取得第二個圖形,依此類計算。 當您呼叫 GraphicsPathIterator::Rewind時,順序會重新開始;也就是說,呼叫 GraphicsPathIterator::Rewind之後,下一次呼叫 GraphicsPathIterator::NextSubpath 會取得路徑中的第一個圖形。 GraphicsPathIterator::NextMarker和GraphicsPathIterator::NextPathType方法的行為類似。
範例
下列範例會建立 GraphicsPath 物件,並將五個圖形新增至路徑。 程式碼會將 該 GraphicsPath 物件的位址傳遞至 GraphicsPathIterator 建構函式,以建立與路徑相關聯的反覆運算器。 程式碼會呼叫反覆運算器的 GraphicsPathIterator::NextSubpath 方法兩次,以擷取路徑中的第二個圖形。 DrawPath方法會以藍色繪製該路徑。 接下來,程式碼會呼叫 GraphicsPathIterator::Rewind 方法,然後呼叫 GraphicsPathIterator::NextSubpath 一次,以取得路徑中的第一個圖形。 DrawPath方法會以紅色繪製該圖形。
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);
}
需求
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限桌面應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | gdipluspath.h (包含 Gdiplus.h) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |
另請參閱
GraphicsPathIterator::NextMarker 方法
GraphicsPathIterator::NextPathType