Как нарисовать линию или прямоугольник на контексте устройства (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);

Прокомментировать

XHTML: Можете использовать теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я ЧЕЛОВЕК!!!!.

Наталья Подольская шаблоны wordpress Энциклопедия животного мира. Фото и статьи. Заказать свадебный макияж в Минске, пробный макияж бесплатно!