MFC画图 画圆

请问MFC中画一个圆,调用Ellipse函数,但我想把这个圆保存成一个对象或变量,之后对这个对象操作,比如填充、移动变大变小等等,就是想问一下我怎么能把这个圆保存成一个“... 请问MFC中画一个圆,调用Ellipse函数,但我想把这个圆保存成一个对象或变量,之后对这个对象操作,比如填充、移动变大变小等等,就是想问一下我怎么能把这个圆保存成一个“圆类”的对象呢 展开
 我来答
catharineci
2010-12-01 · TA获得超过168个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:236万
展开全部
这个我做过,要知道,一个圆的大小,颜色,底色等都是这个圆的属性,必须得当做一个类来看待
你至少要建一个圆或图形的类吧~ 比如添加一个类
Class Graph,添加成员变量 CPoint m_ptStart(鼠标按下坐标)CPoint m_ptEnd(鼠标弹开坐标),COLORREF linecolor(圆线条的颜色) COLORREF setcolor(填充线条的颜色)
等等,
考虑到图形重绘的问题,你还得在你的Doc或View中添加一个容器,存放这些图形的对象(其实是对象的地址),在每次重绘的时候才能把一个个包含属性的图形再次画在窗口上,详细的东西很复杂,而且类的思想也不是一时半会能够掌握的。
建议你去看孙鑫VC++的视频,第10课讲怎么画图,第11课讲怎么保存,很有用
duutl83
2010-11-28 · TA获得超过350个赞
知道答主
回答量:233
采纳率:0%
帮助的人:192万
展开全部
建个线程画

你可以写个专门画圆的函数:

void draw_circle(HWND hwnd, /* 其他画圆需要的参数 */)
{
HDC hdc = GetDC(hwnd);

// 画圆

ReleaseDC(hdc);
}

想同时画的话,比如有2个窗口,主窗口假设为hwnd1,另一个为hwnd2,这样:

CreateThread(draw_circle, /* hwnd2和其他传给draw_circle的参数,多的你可以作为数组传指针过去 */)
{
}

然后再再主线程里调用draw_circle(hwnd1, ...);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kissmegodlike
2010-11-20 · 超过12用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
不过非要建也可以,你自己建一个圆类,这个圆类派生余CDC类,然后就可以对他进行你说的操作了。详细的灾区看下CDC类,还不会留言给我,我给你写代码吧!不过可能无法很快回!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-11-20
展开全部
你去看一下 《深入浅出MFC》 相关内容 要用到 CDocument 和 DocTemplate
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
C_大白痴
2010-11-20 · TA获得超过261个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:268万
展开全部
定义一个圆类
里面有填充 移动等功能

重载吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式