当前位置: 代码迷 >> VC >> 用CClientDC画线,怎么取得当前的宽度
  详细解决方案

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

热度:9662   发布时间:2013-02-25 00:00:00.0
用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 );//注意将画笔恢复