Если же при регистрации был задан флаг CS_CLASSDC, то все окна этого класса имеют один контекст и для любого окна восстанавливаются те значения параметров, которые были в контексте перед выполнением последней функции Rel easeDCC).

Вывод графических примитивов Прямоугольник со скругленными углами Рисование отрезка прямой, прямоугольника и эллипса было рассмотрено ранее. Прямоугольник со скругленными углами выводится при помощи следующей функции:

BOOL RoundRectCHDC hDC. int nXl. int nYl. int nX2. int nY2. int X. int Y) В этой функции для прорисовки закруглений на углах используются эллипсы. Два дополнительных параметра, х и у, задают ширину и высоту этих угловых эллипсов.

В следующих разделах главы описываются функции, позволяющие отображать более сложные фигуры.

Функции отображения ломаной линии и многоугольника имеют одинаковый набор параметров:

BOOL PolyLine (HDC hDC. CONST POINT *lpPoints. int cPoints) BOOL Polygon (HDC hDC. CONST POINT *lpPoints. int nPoints)

В этом определении параметр 1 pPoi nts является массивом структур типа POINT, содержащим координаты вершин ломаной или прямоугольника, а параметр cPoi nts позволяет указывать количество вершин. Функция PolyLineO рисует линию от первой точки ко второй, от второй - к третьей и далее по всем точкам массива. В отличие от LineToC), эта функция не использует и не изменяет текущую позицию графического указателя. Например, следующий фрагмент кода рисует фигуру в форме буквы М при помощи функции PolyLine():

POINT Points [5] - {{50. 50}.{50.150}.{100.100}.{150.50}.{150.150}}; PolyLine(hDC.Points.5);

Функция PolygonC) автоматически соединяет последнюю вершину в массиве с первой. Таким образом, функция PolygonC) всегда рисует замкнутую фигуру, если, конечно, в параметрах не были указаны координаты всего двух вершин.

При рисовании сложных многоугольников с самопересечениями границ можно задавать один из двух вариантов закраски его внутренних областей при помощи следующей функции:

int SetPolyFillMode (HDC hDC. int iPolyFi11 Mode)

Многоугольные фигуры


⇐ Предыдущая| |Следующая ⇒