问题描述:
mfc编程时,重写ctabctrl类。在实现动态增加删除界面功能时,发现当tab控件内有加载入两个tab界面,当删除tab1时,留下的另一个tab2标签页会变空白。
现象如下:
同时添加“666”和“667”两个tab页,并显示“667”tab页。

然后删除“666”这个tab页,“667”这个标签页则会变成空白。重新切换上层页面,或是wnd消息触发,会逐步加载出界面。

其实这个问题产生的根本原因是:在同一个位置同时ShowWindow(SW_SHOW)两个界面!
因为我是重写了tabctrl类,所以正常两个tab页面的互换我也重新设计,正常情况下就是可以通过:
pDlg1->ShowWindow(SW_HIDE)
pDlg2->ShowWindow(SW_SHOW)
实现切换。
但是这边造成这个bug的原因,是我再删除tab1时,没有先SW_HIDE。所以在之后流程的执行中,我即使SW_SHOW 了 tab2页面,也是空白页面。
在MFC内,如果再同一个位置同时ShowWindow(SW_SHOW)两个页面,从对话框上看实际上只会显示最后SHO

最低0.47元/天 解锁文章
1101

被折叠的 条评论
为什么被折叠?



