mfc中客户区有两个button控件,画了一条直线连接两个button,我想问移动其中一个button时,直线跟着变化

我是这么处理的,我将连线的信息储存在cptrarray数组中,当移动button控件使,引起窗口重绘,在view类的ondraw函数中将cptrarray数组里面连线重新... 我是这么处理的,我将连线的信息储存在cptrarray数组中,当移动button控件使,引起窗口重绘,在view类的ondraw函数中将cptrarray数组里面连线重新全部画出来。。可是一直没有成功,移动一个button控件时,原来的连线并没有消失,但我测试过,窗口的确发生了重绘,调用了ondraw函数 展开
 我来答
花花浪客
2013-12-19 · TA获得超过2069个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:714万
展开全部
你的意思是新的连线有画成功但是原来的连线没有消失吗?
你的背景有重画过吗?就是FillRect(...),可能是因为背景没有重画导致原来的线没有被擦掉。
如果确认有重画过背景,那你得看看你得cptarray的数据了,可能原来的线的数据还存在里面,所以导致旧的线重画了。
追问
原来的连线没有消失,发生重绘的话不应该是自己会清空客户区的连线么??
那背景重画fillrect应该在哪里编写?在ondraw里面么?我试过,也不行。
cptarray数组没问题,因为当我拖动窗口改变它的大小时,结果是正常的。
追答
是的,重画背景fillrect就是在ondraw里面写。
大致是GetClientRect, 然后FillRect。
你可以试试看只FillRect不画线,并且fillrect使用一个不一样的颜色,比如红色确认窗口有被画成红色,如果只FillRect之后那个线还在那么问题就在其他方面了,具体要看看你的OnDraw代码来确认了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2013-12-19 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1331万
展开全部
移动的时候需要刷除发生移动的两个按钮之间原来的连线.画新的连线
更多追问追答
追问
怎么删除原来的连线啊??
如果不复杂的话,能给我源代码看看么?
菜鸟初学,谢谢了
追答
可以使用背景色画原来的连线后在画新连线.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式