3-画笔

画笔

1.设备上下文与画笔

设备上下文里装备了画笔,如果将另一个画笔换入设备上下文,则绘制出的线条就与该画笔有关。

1.1初始化画笔

画笔的初始化有三个参数,分别是线条样式,线条粗细和线条颜色(根据RGB值)

  • 线条样式

    • PS_DOT:点
    • PS_DASH:虚线
    • PS_SOLID:实线
CPen pen(PS_SOLID,1,RGB(255,0,0));
1.2更换画笔

将画笔更换到设备上下文中,注意接收旧画笔,便于画完再换回去,保持状态。

CPen* pOldPen = pDC->SelectObject(&pen);

还回去

pDC->SelectObject(pOldPen);

2.问题

画笔的线条粗细超过1,不能很好地分辨实线和虚线。

解决方法

将同一根线绘制多次,第二根线起x坐标和y坐标做一个相对平移。

3.补充:TRACE宏

TRACE宏用于在调试模式下打印消息,在输出窗口中看到,在MFC中。与printf用法类似。

4.画笔的样式查看方法GetLogPen

LOGPEN logpen;
pOldPen->GetLogPen(&logpen);
TRACE("style = %d, color = %08X, width = %d\r\n",logpen.lopnStyle,logpen.lopnColor,logpen.lopnWidth);