Visual C++ для начинающих - GDI-атрибуты контекста устройства

ОГЛАВЛЕНИЕ

 

 

 

3. GDI-атрибуты контекста устройства 

Значениями ряда атрибутов контекста устройства являются объекты GDI. Как отмечалось ранее, в вызовах методов, рисующих фигуры на экране, многие параметры не указываются, а берутся из атрибутов контекста устройства. Чтобы эти параметры отличались от установленных в контексте устройства по умолчанию, необходимо:

Сохранить старое значение атрибута. Установить новое. Выполнить необходимые действия. Восстановить старое значение атрибута.

Последовательность этих действий иллюстрируется примером:

void CMyView::OnDraw(CDC* pDC) {

CPen Pen;
if(Pen.CreatePen(PS_SOLID,2,RGB(0,0,0)) {
// сохранение старого и установление нового значения атрибута
CPen* pOldPen=pDC->SelectObject(&Pen);
// выполнение необходимых действий
pDC->MoveTo(....); pDC->LineTo(....);
// восстановление старого значения атрибута
pDC->SelectObject(pOldPen);
}
}

Метод SelectObject в качестве результата возвращает указатель на текущее перо и делает текущим перо, указанное в качестве параметра метода.