VC 画多个实心圆

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:15:22
如果嫌上面画的点太小,可以用画实心圆的方法:
CBrush brush(RGB(255,0,0)); //红色
CBrush *old = pDC->SelectObject(&brush);
CRect rect;
rect.SetRect(100,100,100,100); //圆心是(100,100)
rect.InflateRect(50,50); //半径是50
pDC->Ellipse(rect);
pDC->SelectObject(old);
这个我画出了实心圆,但是我想多画几个,不知道该如何设置,我简单地把程序重新复制了一遍,但是CBrush已经在第一个中有了,不能再用了,我刚学VC,不太会用,请问怎么设置?是再设置个画刷还是怎样啊?谢谢咯,请讲详细点,最好有程序

可以再用呀,因为你没有用pDC->SelectObject(brush); 将画刷删除.所以你再用CBrush brush(); 时重复定义了.
解决的办法
1:pDC->SelectObject(brush); 将brush画刷删除后,复制代码.
2.不用再声明CBrush brush(); 直接用
CBrush *old = pDC->SelectObject(&brush);
---------------------------------------
最最简单的办法:
pDC->Ellipse(rect); 之后直接再画
CPoint point1;CPoint point2;
for(int in=0;i<=5;i++)//5是参考值,随你定
{
cin>>point1.x>>point1.y>>point2.x>>point2.y;
Ellipse(CRect(point1,point2));
}
//point1,point2是坐标点

画好一个圆之后,你再把那个矩形结构rect的四个参数重新设置一下,然后再pDC->Ellipse(rect)画就行了。

画完所有圆之后,再释放掉当前的画刷。