您的位置:首页 > 其它

BCG库MDI中Tab子框架窗口中的控制条的一个小Bug的解决方法

2010-08-12 09:58 525 查看
最近使用bcg库的时候,采用了在MDI中Tab化子框架窗口中动态放置控制条的界面,却发现一个小问题。控制条始终不能显示出来,而是紧紧靠在边框,而且只露出一个1像素宽的条。开始以为是使用方法的不对,采用各种方法都没有解决。最后研究bcg中提供的范例程序,发现也存在这个问题。于是确认是系统的问题。需要自己解决。

跟踪源代码很久,才发现其中的原因。原来,bcg中当显示tab化的mdi子窗口的时候,会动态创建一个大小为0的tabWnd,这个窗口创建的时候size的变化会导致mdi子窗口中所有控制条的重新安排,由于size为0,而所有的控制条的位置会自动紧缩,由于控制条中有一个minSize属性,默认为1。所以控制条在重新展开后只会按照这个最小位置来显示,导致不正常的显示。非tab化的mdi子窗口则不存在此问题。

解决方法:在CBCGPMDIChildWnd的继承类中添加OnSize响应函数,并增加代码

if (cx == 0 && cy ==0)

return;

问题得到解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: