MFC 如何在对话框里实现按下button,在画布上把图显示出来

callous_tu 2012-05-15 02:50:06
我建了一个对话框,左边建立了画布,右边是按钮,用ondraw函数写了画图程序之后,现在运行程序,图直接就在画布上显示了,但是我想实现按下按钮再把图显示出来。请问如何实现?
小弟新手,还有一个问题是 要是有2个按钮,当我按下另外一个的时候,如何实现把画布上的擦去,然后再把ondraw画的图显示上去。
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
callous_tu 2012-05-15
  • 打赏
  • 举报
回复
thanks a lot
ls443085074 2012-05-15
  • 打赏
  • 举报
回复
在button 里添加个控制变量 m_bdraw = TRUE;
在ondraw(){
if(m_bDraw){
//画图
}
}
liuli7786 2012-05-15
  • 打赏
  • 举报
回复
if(控制变量==1)
{
//绘制图片1
//在这里把控制变量设为0
}
elsem if(控制变量==2)
{
//绘制图片2
//在这里把控制变量设为0
}
callous_tu 2012-05-15
  • 打赏
  • 举报
回复
现在这个问题解决了,出现了个新问题:我现在把这个对话框嵌套在一个新建的对话框中,现在我点一个按钮,出现图了之后,把这个对话框关了再打开。图依然还在,是不是有什么函数可以在对话框被关闭之后,把那个控制换图的变量值给消除?
callous_tu 2012-05-15
  • 打赏
  • 举报
回复
谢谢楼上两位,我先实验一下
向立天 2012-05-15
  • 打赏
  • 举报
回复
在按钮里修改绘制参数
然后调用Invalidate
在OnDraw里根据参数绘制
liuli7786 2012-05-15
  • 打赏
  • 举报
回复
定义一个全局的控制变量,在按钮1按下的函数中:为控制变量赋值为1,然后调用Invalidate();
在按钮2按下的函数中:为控制变量赋值为2,然后调用Invalidate();
在ondraw函数中:
if(控制变量==1)
{
//绘制图片1
}
elsem if(控制变量==2)
{
//绘制图片2
}

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧