使用BOOL CreatePen(int nPenStyle, int nWidth, COLORREF crColor);这个函数时 ,发现当线宽大于1时只能绘制实线,无法绘制虚线、点线等
可采用另外一个函数:
BOOL CreatePen(int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL);
示例:
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(255,0,0);
CPen pen;
pen.CreatePen(PS_DASH|PS_GEOMETRIC|PS_ENDCAP_ROUND,3, &logBrush);
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(255,0,0);
CPen pen;
pen.CreatePen(PS_DASH|PS_GEOMETRIC|PS_ENDCAP_ROUND,3, &logBrush);
效果如下: