vc++6.0环境下mfc的对话框更新UpdateData(FALSE)问题
在view类开启定时器,在响应定时器时,首先改变改对话框的m_XXXXX的值,在调用UpdateData(FALSE);来更新对话框的显示内容。OnUpdataMesou...
在view类开启定时器,在响应定时器时,首先改变改对话框的m_XXXXX的值,在调用UpdateData(FALSE);来更新对话框的显示内容。
OnUpdataMesout()是自己定义的函数,用于改变对话框的m_XXXXX的值。在执行过程中,对话框的打开时没有问题,也能更新显示内容。但是在对话框关闭时会出现错误。错误截图如下
不知道是什么原因,怎么消除?在view类中怎么使用SetDlgItemText()来改变对话框的内容。 展开
OnUpdataMesout()是自己定义的函数,用于改变对话框的m_XXXXX的值。在执行过程中,对话框的打开时没有问题,也能更新显示内容。但是在对话框关闭时会出现错误。错误截图如下
不知道是什么原因,怎么消除?在view类中怎么使用SetDlgItemText()来改变对话框的内容。 展开
2个回答
展开全部
问题在于你的OnUpdataMesout()不对对话框是否已经被关闭(窗口实例对象被销毁)做判断
解决方法 给view类添加一个bool类型成员变量
在 对话框的 Oninitdialog中 将此变量设为true(对话框类直接操作不了view类的成员,请先得到view类的指针,要得到view类的指针 .....先得到主窗口的指针....)
对话框的OnClose将此变量设为false
OnUpdataMesout()内要先对次bool变量进行判断
解决方法 给view类添加一个bool类型成员变量
在 对话框的 Oninitdialog中 将此变量设为true(对话框类直接操作不了view类的成员,请先得到view类的指针,要得到view类的指针 .....先得到主窗口的指针....)
对话框的OnClose将此变量设为false
OnUpdataMesout()内要先对次bool变量进行判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询