MFC中,怎么画任意多边形?

我是说动态鼠标绘制,就是像windows画图程序那样,通过鼠标点击,一条边一条边的画出来,最后右键或者双击闭合。而不是简单的用polygon函数。(当然最后可以用它来储存... 我是说动态鼠标绘制,就是像windows画图程序那样,通过鼠标点击,一条边一条边的画出来,最后右键或者双击闭合。而不是简单的用polygon函数。(当然最后可以用它来储存)

现在遇到的问题,我可以画出来了,但是不知道怎么储存到内存当中。 我是这样想的:
鼠标每点击一次,把点记录下来,传到cptrarray数组里面,然后画完一个多边形,再把这个多边形存到一个总的容器里面。
我指针学的不好,不知道存所有多边形的指针应该用什么容器,请高手详述,这2层指针结构怎么组织。 要求有相关代码。满分相求。谢谢。
展开
 我来答
百度网友96aa8d3
推荐于2016-12-01 · TA获得超过433个赞
知道小有建树答主
回答量:2306
采纳率:75%
帮助的人:937万
展开全部
第一 一个多边形类

每次画之前 先new 出来 然后 放进容器里

画的时候 把点 存在 多边形 对象中的 点 数组里

然后每次只要调用 draw(多边形draw ) 就好了。 不用考虑存哪里

存对象 里 多边形对象里存 点的数组
追问
能贴点代码吗?谢谢啦
追答

  我把设计图给你看看


                               

启东德乐润滑
推荐于2016-08-05 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2337
采纳率:80%
帮助的人:403万
展开全部
绘制连接lpPoints指定点的一组线段(无填充)
pDC->PolyLine(LPPOINT lpPoints ,int nCount);
lpPoints 用于连接的POINT结构或CPoint对象的指针。
nCount 数组中的点的数目。其值不小于2。

使用当前画笔绘制由直线连接的包含两个以上顶点的多边形。(有填充)
pDC-> Polygon(LPPOINT lpPoints ,int nCount);
参数: lpPoints 多边形顶点数组的指针。可以为该参数传递POINT结构或CPoint对象。
nCount 数组中的顶点数目。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剧丽颛孙光亮
2020-04-07 · TA获得超过3630个赞
知道大有可为答主
回答量:3096
采纳率:33%
帮助的人:164万
展开全部
响应一下鼠标左键点击的消息,然后就是moveto
lineto画线就是了,那么简单
那要单文档的还是对话框的?给个邮箱,我做个给你看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuhaiming_0906
2012-10-23 · TA获得超过199个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:150万
展开全部
你都已经把点存好了,还有什么画不了的呢?没看明白你是什么意识。。。
更多追问追答
追问
点画好了,没存到内存里面,一刷新不就没了吗。
应该用容器把多边形储存起来,在OnDraw里面重绘,这样才行。
追答
你不是说把点都存放到cptrarray数组里面了?存好了再OnDraw时重绘就OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式