Шаг 770 - CDC::Polygon

BOOL Polygon( LPPOINT lpPoints, int nCount );

Возвращаемое значение
Отлично от нуля, если функция успешна, иначе 0.

Параметры
lpPoints
Указатель на массив точек, которые определяет вершину многоугольника. Каждая отметка в массиве - структура POINT или объект CPoint.
nCount
Определяет число вершины в массиве.

Замечания
Выводит многоугольник, состоящий из двух или больше вершин, связанных линяими, используя текущее перо. Система закрывает многоугольник автоматически, в случае необходимости, выводя линию из последней вершины к первой.
Текущий режим заполнения многоугольника может быть получен или установлен, используя GetPolyFillMode и SetPolyFillMode функции.

Пример

void CMyView::OnDraw(CDC* pDC)
{
	// Получить клиентскую область
	CRect rect;
	GetClientRect(rect);

	// Выведите с толстым синим пером
	CPen penBlue(PS_SOLID, 5, RGB(0, 0, 255));
	CPen* pOldPen = pDC->SelectObject(&penBlue);

	// И твердая красная кисть
	CBrush brushRed(RGB(255, 0, 0));
	CBrush* pOldBrush = pDC->SelectObject(&brushRed);

	// Найти середину точек верхней части, права, левого, и нижней части
	// клиентской области. Они будут вершинами нашего многоугольника.
	CPoint pts[4];
	pts[0].x = rect.left + rect.Width()/2;
	pts[0].y = rect.top;

	pts[1].x = rect.right;
	pts[1].y = rect.top + rect.Height()/2;

	pts[2].x = pts[0].x;
	pts[2].y = rect.bottom;

	pts[3].x = rect.left;
	pts[3].y = pts[1].y;

	// Вызов Polygon () на том массиве выведет три линии
	// Между точками, также с дополнительной  линией
	// что бы закрыть форму - из последней отметки к первой отметки
	// которую мы определили.
	pDC->Polygon(pts, 4);

	// Верните старые объекты.
	pDC->SelectObject(pOldPen);
	pDC->SelectObject(pOldBrush);
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 3.02.2002