1)Изменение позиции текущего указателя: CPaint CDC::LineTo(int x, int y); по умолчанию значение текущего указателя - 0,0. возвращает предыдущую позицию текущего указателя.
2) Рисование линий BOOL CDC::LineTo (int x, int y); BOOL CDC::LineTo (POINT point); memDC.MoveTo(25,25); memDC.LineTo(50,25); memDC.LineTo(50,50); и тд CClientDC dc(this);
3) построение прямоугольников BOOL CDC::Rectangle (int x1, int y1, int x2, int y2); -||- (LPRECT lpRect); CPen bluePen(PS_SOLID, 2, RGB(0,0,255)); CBrush yellowBrush(RGB(255,255,0)); mem.DC.SelectObject (&yellowBrush); CRect a(30,30,(80,100)); memDC.Rectangle(&a); InvalidateRect(NULL);
4) Прямоугольник со скругленными краями. BOOL CDC::RoundRect(int x1, int y1, int x2, int y2, int x3, int y3); RoundRect (LPRECT lpRect, CPoint point); memDC.RoundRect (30,30,180,100,10,5);
5) Полилиния BOOL CDC::PolyLine (LPPOINT lpPoints(массив точек), int nCount(количество точек)); BOOL CDC::PolylineTo (LPPOINT lpPoints, int nCount); CPoint p[5]; p[0].x=10, p[0].y=20; p[1].x=20; p[1].y=30; p[2].x=30; p[2].y=30; p[4].x=40; p[4].y=20; mem DC.PolyLine(p,5);
6) сплайны Бизе BOOL CDC::PolyBezier (LPPOINT lpPoints, int nCount); Первый сплайн последовательности строится на четверке точек и проходит через первую и четвертую точки. При этом 2 и 3 точки - в качестве контрольных. последняя точка последнего сплайна - начало следующего. BOOL CDC::PolyBezierTo(LPPOINT lpPoints, int nCount); Указание координат такое же, как у полилинии.
7) построение элипса. BOOL CDC::Ellipse (int x1, int y1, int x2, int y2); BOOL CDC::Ellipse (LPRECT lpRect); CBrush greenBrush(RGB(0,255,0)); memDC.SelectObject (&greenBrush); CPen redPen(PS_DOT, 1, RGB(255,0,0)); memDC.SelectObject (&redPen); memDC.Ellipse(50,350,300);
8) BOOL CDC::Arc (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); В эллипсе вырезанный участок ограниченный лучами. При помощи лучей вырезается участок при движении от точки 3 до 4 против часовой стрелки BOOL CDC::Arc(LPRECT lpRect, CPoint p1, CPoint p2); CRect r1(25,25,125,125); CPoint p1(25,75), p2(125,75); memDC.Arc (&r1, p1,p2); Invalidate Rect (CRect 10,0,100,150);
9) BOOL CDC::Pie (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); BOOL CDC::Pie(LPRECT lpRect, CPoint p1, CPoint p2);