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

如何修改CRectTracker的框的颜色呢

2012-09-24 
怎么修改CRectTracker的框的颜色呢用CRectTracker做拖动拉伸,它会画一框,有八个黑角。怎么修改这个框和八个

怎么修改CRectTracker的框的颜色呢
用CRectTracker做拖动拉伸,它会画一框,有八个黑角。怎么修改这个框和八个黑角的颜色呢

[解决办法]

C/C++ code
// 把MFC的CRectTracker类源码的Draw(CDC* pDC)函数源码,复制到自己的Draw函数。void CMyRectTracker::Draw(CDC* pDC) const{    // ......    // draw lines    // 边框颜色    if ((m_nStyle & (dottedLine|solidLine)) != 0)    {        if (m_nStyle & dottedLine)        {        //     pOldPen = pDC->SelectObject(CPen::FromHandle(_afxBlackDottedPen));            pOldPen = pDC->SelectObject(/*你自定义的颜色刷子*/);        }        else        {        //     pOldPen = (CPen*)pDC->SelectStockObject(BLACK_PEN);            pOldPen = pDC->SelectObject(/*你自定义的颜色刷子*/        }    // ......    // draw resize handles    // 八个黑角的颜色    if ((m_nStyle & (resizeInside|resizeOutside)) != 0)    {        UINT mask = GetHandleMask();        for (int i = 0; i < 8; ++i)        {            if (mask & (1<<i))            {                GetHandleRect((TrackerHit)i, &rect);                pDC->FillSolidRect(rect, RGB(/*你想要的颜色*/));    // RGB(0, 0, 0));            }        }    }    // ......} 

热点排行