问:在打印预览中,明明是虚线,为什么打印出来是实线?
答:VC中,如果打印的虚线宽度不是1,打印的效果就会变成实线。
注意,这里的1指的是设备单位像素,下面例子中的1表示的是逻辑单位的像素。
如果打印之前进行了图像的放大,那么下面例子中实际的打印设备像素就不再是1了。
例:CPen pen(PS_DOT, 1, RGB(255,0,0));
要使打印出来的虚线具有任意宽度可使用如下代码:
LOGBRUSH logBrush;
logBrush.lbStyle=BS_SOLID;
logBrush.lbColor=RGB(255,0,0);
CPen pen(PS_DASH,nWidth,&logBrush);
其中nWidth可以为任意值。