VC++中TabConrol控件子窗体背景XP样式完美解决方案

来源:互联网 发布:互盾安卓数据恢复大师 编辑:程序博客网 时间:2024/06/05 11:50
 TabConrol控件的应用非常广泛,但是在MFC中使用TabConrol控件的时候遇到了一个非常恼人的问题,就是使用XP样式的时候,TabConrol控件标题与子对话框窗体之间的颜色问题,虽然并不影响使用,但是看起来就是非常的不爽.在网上寻寻觅觅了好几天一无所获.网络上找到的资料都是叫你新建一个子类继承至CTabCtrl然后重载 OnDrawItem  OnCtrlColor 什么的,根本不起作用;我也考虑过在标签页子窗口中编码重绘窗体,可是这样一来,每个标签页都需要重绘实在太麻烦了.老天不负有心人,让我发现了这么一个神奇的函数EnableThemeDialogTexture,使用它轻松就解决了一切问题.

    先来张效果对比图:


实现方法:
    1.点击项目属性->配置属性->链接器->输入 附加依赖项 添加 UxTheme.lib
    2.在子窗体Create (就是每个Tab对话框页面)之后 添加代码
    EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB);

    大功告成,我们根本没不要花那么多时间去自己编写代码重绘窗体.


0 0