视图中某个CEDIT控件的数据发生变化,如何通知文档

alee201 2006-05-10 10:31:15
第一次使用 vc MDI , 完全是新手, 请教一些概念性问题。

当一个文档内的数据发生变化以后, 可以 通过 UpdateAllViews() 自动调用 所有视图 的 OnUpdate , 然后 在 视图 的 OnUpdate 函数中 更新视图 。

但是 反过来, 当一个视图中的数据 发生了变化, 比如 一个 CFormView 中 包含的 一个 CEdit ,用户 向该控件输入了 内容, 如何 将 输入的数据 立即更新给 文档呢?

...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alee201 2006-05-10
  • 打赏
  • 举报
回复
To lyl_rabbit(阿牛):

这个我知道, 我的意思是, 这些代码放在哪里? 放在 CEdit 的 OnEnChange 函数中吗?

那岂不是要为每一个 CEdit 都编写一段代码 吗? 如果 有 上百个 CEdit 怎么办呢?
lyl_rabbit 2006-05-10
  • 打赏
  • 举报
回复
//在视图中得到文档
CXXXDoc *pDoc = (CXXXDoc *)GetDocument();

pDoc->m_XXX = m_EditValue;//更新数据
alee201 2006-05-10
  • 打赏
  • 举报
回复
我知道 通过 CEdit 空间的 OnEnChange 事件,捕捉到用户 输入行为,然后再 OnEnChange () 函数里面 ,将 CEdit控件 对应的 DDX 变量更新给 文档, 是一种方法 。

但是,这个 CFormView 中的控件很多, 有上百个 CEdit 的话, 岂不是要 编写 上百个 OnEnChange () 函数吗 ???
maxlee009 2006-05-10
  • 打赏
  • 举报
回复
ok

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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