首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

用CClientDC画线,怎么取得当前的宽度

2012-03-27 
用CClientDC画线,如何取得当前的宽度用CClientDC画直线C/C++ codedc.MoveTo(m_ptOrigin)dc.LineTo(point)

用CClientDC画线,如何取得当前的宽度
用CClientDC画直线

C/C++ code
dc.MoveTo(m_ptOrigin);        dc.LineTo(point);

可以用dc.SelectObject(&CPen)设置宽度颜色等等,可是如何获取当前系统的宽度(我不太清楚这样的叫法对不对)呢,就是画出的线条的width?

[解决办法]
C/C++ code
CPen pn;    pn.CreatePen( PS_SOLID, 12, RGB( 0, 0, 255 ) );  //创建画笔 线宽12    SrcDC.SelectObject( pn );                        //DC设置创建的画笔为当前画笔    SrcDC.Rectangle( myT );    SrcDC.FillRect( myT, &br );    SrcDC.Rectangle( xyT );    SrcDC.FillRect( xyT, &xr  );    CPen* myp = SrcDC.SelectObject( &pn );          //设置当前画笔时,会返回一个指针存储先前画笔(注意这里&pn实际上可以为任何画笔,这一步执行的是SelectObject,会影响DC当前使用的画笔,因此后面一定要将DC的画笔恢复)    LOGPEN lpn; myp->GetLogPen( &lpn );             //取得逻辑画笔    POINT mm = lpn.lopnWidth;                           INT penwd = mm.x;                               //取得线宽的为    SrcDC.SelectObject( myp );//注意将画笔恢复 

热点排行