首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

视图显示完毕事件?该如何处理

2012-03-18 
视图显示完毕事件?MFC,以前总是在视图显示前,将数据要么填充在构造函数中,要么写在初始化函数中,现在想要

视图显示完毕事件?
MFC,以前总是在视图显示前,将数据要么填充在构造函数中,要么写在初始化函数中,现在想要在视图“显示完毕”后更新视图数据,不知道有没有这样的事件,或者说我的更新数据代码应该写在哪里?
  自己忽然想到一个:在初始化函数中创建一个线程;线程体Sleep(1000);后,更新数据,不过这个好像不太好,不知道有什么办法?谢谢各位。

[解决办法]
没有那么确切的一个消息
你可以自己定个时钟
然后在时钟消息里处理
然后销毁时钟
[解决办法]

探讨
引用:
没理解你说的目的
更新你自己的数据,还是...?

" 现在想要在视图“显示完毕”后更新视图数据 "

晕了,到底谁先谁后阿?

可能我没有描述明白,我是想向2楼说的,视图显示好后,进行一些处理。
我用了2楼的方法,在自定义消息中进行我的处理,可是好像好使不行,如果我在自定义消息函数体里加个Sleep(xxx);的话,视图不会显示,等s……

[解决办法]
MFC内置了Doc/View架构,Doc管理数据,并控制View更新。
当DOC里的数据进行了更新,而希望View来显示的时候,你只需要在每个View中添加如下方法:
void View类::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
// 在此添加更新View的显示数据的内容
}

在DOC里调用UpdateView()方法,来通知View更新数据就可以了。

热点排行