天天看点

Tab控件跟ListCtrl控件联合使用,ListCtrl控件有可能被遮挡问题

问题描述:

在对话框界面上放一个Tab控件,一个ListCtrl控件

在OnInitDialog中对两个控件做初始化

调整好Tab控件大小

调整ListCtrl大小和位置 (ListCtrl 样式 选中Report)

在对控件初始化 时 ListCtrl 添加一个记录

在程序界面,选中ListCtrl 中的一条记录,然后发生一次窗口切换(让别的引用程序遮挡住该程序)

当切换回该程序时,发现ListCtrl控件被遮挡住了。

解决 办法:

只需要把ListCtrl控件设置成Tab控件的子窗口,就OK了。

问题分析:

 MFC中所有的窗口控件的Z次序 是相同的,在选中ListCtrl中的数据项后,ListCtrl 的 Z次序 就发生了改变,当发生窗口切换时,界面在刷新的时候,会悠闲绘制ListCtrl 然后再绘制Tab ,最终出现ListCtrl被遮挡的现象。(菜鸟的猜测,如有误,还请大侠们指点~~~~~~~~~~~)