VC++ PS_ENDCAP_SQUARE实现的功能问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:37:59
VC++编程中PS_ENDCAP_SQUARE说是线条结束处为方形,但是我用这个画了一个线条为100的粗线条,出现的却是两端为半圆,根本不是方形?这是什么原因啊,怎么样才能实现方形线条?
能不能解释一下各句的意思?帮我看看这样对不对?
CClientDC DC(this);
CPen myPen;
myPen.CreatePen(PS_GEOMETRIC|PS_ENDCAP_SQUARE,36,RGB(255,0,255));
CPen*pOldPen=DC.SelectObject(&myPen);

LOGBRUSH logBrushBottom;

logBrushBottom.lbStyle = BS_SOLID;
logBrushBottom.lbColor = RGB(255,0,0);
logBrushBottom.lbHatch = 0;

CPen lpen(PS_GEOMETRIC|PS_ENDCAP_SQUARE, 20 , &logBrushBottom);
CPen* pOldPen = dc.SelectObject(&lpen);
dc.MoveTo( 30 , 30 ) ;
dc.LineTo( 100 , 30 ) ;
dc.SelectObject( pOldPen );

建议你直接画矩形然后用画刷填充~~~
这样画出来的线都是两头圆的~