非主对话框,第一次显示时候要做一个事,以后再也不做

zhangwuji154 2010-03-16 10:40:04
在主对话框上有个tab控件,它有几个分页,每个分页都是一个dlg贴上去的,每个分页可能要读一些数据,做一些处理
如果在主程序一运行,把所有分页要干的事都干了,程序会卡,
而且,程序运行出来默认是在第一个页,有可能用户从运行,到关闭,都不会看第三个分页,那前面的
初始化就白费了,

现在想做的是,在第一次显示第三页的时候,初始化第三页的内容,
我现在是怕,如果用OnShow之类的消息函数,可能第一次show要做一次,把它最小化了,再放大,它还会调用这个函数。

所以想请高人支个招。
...全文
115 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shen_wei 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 visualeleven 的回复:]
引用 1 楼 wizardk 的回复:

TAB CONTROL在相应TCN_SELCHANGE时,再根据情况做对话框内容的初始化,也就是你说的读取数据

up,你在响应该消息的时候处理就行了,根据tab标签的index值来判断对哪个对话框的数据进行处理不就可以了
[/Quote]

很正确的做法 在需要时在处理 这样就节省了!!
Eleven 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wizardk 的回复:]

TAB CONTROL在相应TCN_SELCHANGE时,再根据情况做对话框内容的初始化,也就是你说的读取数据
[/Quote]
up,你在响应该消息的时候处理就行了,根据tab标签的index值来判断对哪个对话框的数据进行处理不就可以了
zhangwuji154 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xinglsm 的回复:]

在oninitdialog这里做不行吗?
[/Quote]
你没明白我的意思,
oninitdialog是主程序一运行,子对话框也会调用这个函数,所以程序会卡,而且可能用户永远不会点第三页的界面,那就白费了。
xinglsm 2010-03-16
  • 打赏
  • 举报
回复
在oninitdialog这里做不行吗?
WizardK 2010-03-16
  • 打赏
  • 举报
回复
TAB CONTROL在相应TCN_SELCHANGE时,再根据情况做对话框内容的初始化,也就是你说的读取数据
wwgddx 2010-03-16
  • 打赏
  • 举报
回复
同意楼上的,接分!!
副组长 2010-03-16
  • 打赏
  • 举报
回复
重载OnSetActive(),一旦有显示,就到这儿来。加一个开关量,如果没初始化你就开始初始化,如果已经初始化了,就该干啥就干啥去。
liumeiqinyang 2010-03-16
  • 打赏
  • 举报
回复
是呀,在oninitdialog只初始化默认的tab页即可

15,979

社区成员

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

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