Для выбора встроенного пера лучше всего воспользоваться макрокомандами GetStockPen и SelectPen, определенными в файле windowsx.h так:
#define GetStockPen(i) ((HPEN)GetStockObject(i))
#define SelectPen(hdc, hpen) ((HPEN)SelectObject((hdc), (HGDIOBJ)(HPEN)(hpen)))
Макрокоманда GetStockPen возвращает идентификатор встроенного пера, заданного параметром i. Вы можете выбрать для этого параметра одно из следующих значений:
· BLACK_PEN – черное перо в один пиксел (для любого режима отображения).
· WHITE_PEN – белое перо.
· NULL_PEN – невидимое (для рисования границ закрашенных фигур).
После получения идентификатора пера его необходимо выбрать в контекст отображения при помощи макрокоманды SelectPen. Первый параметр этой макрокоманды используется для указания идентификатора контекста отображения, в который нужно выбрать перо, второй - для передачи идентификатора пера.
Если вас не устраивают встроенные перья, вы можете легко создать собственные. Для этого нужно воспользоваться функциями CreatePen или CreatePenIndirect.
Функция CreatePen позволяет определить стиль, ширину и цвет пера:
|
|
HPEN WINAPI CreatePen(
int fnPenStyle, // стиль пера
int nWidth, // ширина пера
COLORREF clrref); // цвет пера
Параметр fnPenStyle определяет стиль линии и может принимать одно из следующих значений
PS_SOLID сплошное
PS_DASH штриховое ширина только 1пиксел
PS_DOT пунктир
PS_DASHDOT штрих-пунктир
PS_NULL невидимая
PS_INSIDEFRAME для обводки фигур
Параметр nWidth определяет ширину пера. Используемая при этом единица длины зависит от режима отображения, поэтому вы можете задавать ширину пера не только в пикселях, но и в долях миллиметра или дюйма.
Таблица 13