GetClientRect(hWnd.&rect); //Запоминаем размеры рабочей области окна. //Рисование прямоугольника

hBrush - CreateSolidBrush(RGB(0.200.200)); //Создаем сплошную кисть //Макрос RGB(0.200.200) заполняет числами 0.200.200 три байта переменной //типа C0L0RREF

OldBrush - (HBRUSH)SelectObject(hDC.hBrush); //Дескриптор стандартной //кисти, заданной в контексте, сохраняется в переменной OldBrush. а на ее //место заносится дескриптор созданной кисти hBrush. hPen - (HPEN)SelectObject(hDC.CreatePen(PS_DASH.1.(COLORREF)Oxff)): //При создании пера операции создания и занесения в контекст объединены, //это позволяет обойтись без промежуточной переменной (OldPen). Заметим, //что здесь цвет пера задавался непосредственно константой Oxff. Создано //красное перо, рисующее штриховую линию.

xl - rect.left+10;x2 - rect.right/5+Ю: //Задание координат углов

yl - rect.top+10:у2 - rect.bottom/5+10: //и рисование прямоугольника

Rectangle(hDC.xl.yl.x2.y2); //при помощи контекста hDC.

DeleteObject(SelectObject(hDC.OldBrush)); //Восстановление исходного

DeleteObject(SelectObject(hDC.hPen)); //контекста и уничтожение объектов

//Рисование эллипсов

//Создание штрихованной кисти и пера:

hBrush - (HBRUSH)SelectObject(hDC.

CreateHatchBrushCHS DIAGCROSS.RGBC200.0.190))): hPen - ( HPEN ) Sel ectOb ject ( hDC. CreatePen ( PSJOLID. 5. RGB ( 200.200.0 ) ) ) : xl - rect.right/5-5;x2 - 2*rect.right/5; //Для рисования эллипса задаем yl - rect.top+15;y2 - rect.bottom/5+15: //описанный прямоугольник Ellipse(hDC.xl.yl.x2.y2); //и выводим эллипс.

Изменение контекста и скорость рисования

//Создание и занесение в контекст пустой кисти для рисования кольца

hBrush - (HBRUSH)SelectObject(hDC. CreateBrushIndirect(&lb));
hPen - (HPEN)Select0bject(hDC.CreatePen(PS_S0LID.3. RGBC0.255. 0)));
xl - rect.nght/10-5:x2-3*rect.right/10;
yl - rect.top+15;y2=rect.bottom/5+15;

Ellipse(hDC,xl,yl.x2,y2); //Это кольцо.

//Вывод из контекстов и уничтожение нестандартных объектов.

DeleteObject(SelectObject(hDC.hBrush)); //Уничтожаем

DeleteObject(SelectObject(hDC.hPen)); //нестандартные объекты


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