MFC中如何利用工具栏上的图标画图?比如点击圆拖到窗口中就可以显示这样的

CAD中基本的图形,如圆,直线,矩形等都可以做成图标放在工具栏中,画图时直接点击在窗口一拖就可以画出来,那么在MFC中如何实现这一点?对于圆,直线这类还好办,特别是一些特... CAD中基本的图形,如圆,直线,矩形等都可以做成图标放在工具栏中,画图时直接点击在窗口一拖就可以画出来,那么在MFC中如何实现这一点?对于圆,直线这类还好办,特别是一些特殊的组合图形能不能制成图标放在工具栏然后添加代码去实现画图的功能,请大神帮忙具体解答一下。像画五角星这样的图形,好像就没有专门这样的函数 展开
 我来答
百度网友b7cb965
推荐于2016-11-19 · TA获得超过407个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:183万
展开全部
MFC自带的绘图函数有圆形 矩形 圆角矩形 椭圆
好像没有五角星,不过你可以自定义一个函数
截取point A和point B 在两点组成的区域内,用数学几何方法求出五个点的坐标,
然后画五条直线.
几何求点的思路:
角度 int A[]={90,90+72*1,90+72*2,90+72*3,90+72*4};
Point[i].x=R*cos(A[i]);
Point[i].y=R*sin(A[i]);
半径R的算法:
R=rect.Width()>rect.Height()?rect.Width():rect.Height();
当用户点击一个工具栏图标时,你要把图标的类型记录到Frame的成员变量中
在LButtonDown和LButtonUp的事件中截获两点的坐标
再根据用户选择的工具栏图标类型,在区域内绘制相应的图案
追问
能不能来个例子,具体操作一下,谢谢。不一定为五角星,像波浪线,电容符号 ||,等这类型的
追答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式