用CDC画个矩形,怎么改变矩形边框的颜色呢?

解决方案 »

  1.   

    定义个CPen
    然后selectobject
    用这个PEN 画就好了
      

  2.   

    CDC::SelectObject
    This method selects an object for the device context.CPen* SelectObject( 
    CPen* pPen );可以参看MSDN// Create a solid red pen of width 2.
    CPen myPen1(PS_SOLID, 2, RGB(255,0,0));// Create a geometric pen.
    LOGBRUSH logBrush;
    logBrush.lbStyle = BS_SOLID;
    logBrush.lbColor = RGB(0,255,0);
    CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
      

  3.   

    ASSERT(pDC);CBrush *OldBrush = pDC->GetCurrentBrush();
    CBrush NewPen;NewPen.CreateSolidBrush( RGB(0,0,0) );
    pDC->SelectObject(&NewPen);
    pDC->Rectangle( Rect(100,100,200,200 ) );pDC->SelectObject(OldBrush);上面的代码是修改背静色的.修改边框颜色和上面一样,只要重新构造一个CPen,然后SelectObject就可以了.
    不过所有的SelectObject必须保持用完后将原来的Object替换回去的原则.这也就是上面CBrush *OldBrush = pDC->GetCurrentBrush();
    pDC->SelectObject(OldBrush);两句的作用