CBrush *poldBrush =(CBush*)dc.SelectObject(&cbBrush)什么意思?其中dc前的(CBush*)什么意思?为什么这么写?

解决方案 »

  1.   

    将画刷选进设备环境,
    (CBush*)是类型转化,因为SelectObject返回的是CGdiObject
      

  2.   

    CDC::SelectObject  Selects an object into the device context.  
    CPen* SelectObject(
       CPen* pPen 
    );
    CBrush* SelectObject(
       CBrush* pBrush 
    );
    virtual CFont* SelectObject(
       CFont* pFont 
    );
    CBitmap* SelectObject(
       CBitmap* pBitmap 
    );
    int SelectObject(
       CRgn* pRgn 
    );
    CGdiObject* SelectObject(
       CGdiObject* pObject
    );
     
      

  3.   

    CBrush *pOldBrush = dc.SelectObject(pBrush);
    //绘制一个矩形
    dc.Rectangle(CRect(m_ptOrigin,point));
    //恢复先前的画刷
    dc.SelectObject(pOldBrush);
    返回 poldBrush的目的是恢复先前的画刷