注册 登录
编程论坛 VC++/MFC

使用MFC自定义画刷时遇到问题,望高人指点

baidiao 发布于 2008-09-20 10:38, 2935 次点击
我在用MFC自定义画刷时,想用绿色画一个圆,编译时程序没错,但运行结果不是我想要的,我找不到问题所在,望各位相助。我所写的代码全在OnDraw()里,其余的无一丝改变。以下是我写的代码段
    CBrush brush;
    brush.CreateSolidBrush (RGB(0,255,0));  //自定义绿色画刷
    pDC->Ellipse (0,0,100,100);
    pDC->SelectObject (&brush);    //还原画刷
    brush.DeleteObject ();            //释放画刷
还有就是上边  pDC->SelectObject (&brush);     这段代码有没有必要写?
烦劳各位了!
5 回复
#2
zengqiang20062008-10-23 07:52
CBrush brush;
    brush.CreateSolidBrush (RGB(0,255,0));  //自定义绿色画刷
    pDC->SelectObject (&brush);    //还原画刷
    pDC->Ellipse (0,0,100,100);
    pDC->SelectObject (&brush);    //还原画刷
    brush.DeleteObject ();            //释放画刷
呵呵,你应该是刚学mfc吧
#3
zengqiang20062008-10-23 08:00
CBrush brush;
    brush.CreateSolidBrush (RGB(0,255,0));  //自定义绿色画刷
    pDC->SelectObject (&brush);    //还原画刷
    pDC->Ellipse (0,0,100,100);
    brush.DeleteObject ();            //释放画刷
呵呵,刚才回复错了。。多给加一行了
#4
zlx1626362010-10-28 09:19
楼主代码顺序都放错了。。先selectobject再画。然后再释放。。 楼上是 对的。、
#5
g16wycit2010-11-28 18:51
我晕。。。应该是这样的
    CBrush brush,*OldBrush;
    brush.CreateSolidBrush (RGB(0,255,0));  //自定义绿色画刷
    Oldbrush=pDC->SelectObject (&brush);    //将自定义的画刷选入设备
    pDC->Ellipse (0,0,100,100);
    pDC->SelectObject (Oldbrush);    //还原画刷

#6
li20322282011-12-02 19:42
楼上的正确,楼主照楼上的做就对了,貌似不用加old
1