Как нарисовать линию или прямоугольник на контексте устройства (CDC)? Как выбрать цвет и толщину линии?
Пусть имеется указатель на контекст устройства, на котором (контексте то есть) будем рисовать.
1 | CDC* pDC; |
Можно взять класс, производный от CDC.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | CPaintDC* pDC; // //рисуем сплошной зелёный прямоугольник //шириной 100, высотой 300 RECT r = {0, 0, 100, 300}; pDC->FillSolidRect(&r, RGB(0, 128, 0)); //для рисования линий создаём перья CPen redPen(PS_SOLID, 1, RGB(255, 0, 0)); CPen bluePen(PS_SOLID, 3, RGB(0, 0, 255)); //указатель для хранения адреса СТАРОГО //пера контекста CPen *OldPen; //выбираем новое перо, сохраняя указатель //на старое перо контекста OldPen = pDC->SelectObject(&redPen); //рисуем сплошную красную линию толщиной 1 //линия (x1, y1) - (x2, y2) pDC->MoveTo(0, 0); pDC->LineTo(100, 300); //рисуем синюю линию толщиной 3, продолжая с конца красной pDC->SelectObject(&bluePen); pDC->LineTo(30, 200); //обязательно возвращаем старое перо на место pDC->SelectObject(OldPen); |
- Спорт – это жизнь. Отличное изречение великих!
- тактика анубарак быстро приведет вс к победе! Внимательно следите за противниками
- Грандиозная распродажа детских товаров в Москве. Спешите!
