VC++中TabConrol控件子窗体背景XP样式完美解决方案
2014-04-19 21:16
225 查看
TabConrol控件的应用非常广泛,但是在MFC中使用TabConrol控件的时候遇到了一个非常恼人的问题,就是使用XP样式的时候,TabConrol控件标题与子对话框窗体之间的颜色问题,虽然并不影响使用,但是看起来就是非常的不爽.在网上寻寻觅觅了好几天一无所获.网络上找到的资料都是叫你新建一个子类继承至CTabCtrl然后重载
OnDrawItem OnCtrlColor
什么的,根本不起作用;我也考虑过在标签页子窗口中编码重绘窗体,可是这样一来,每个标签页都需要重绘实在太麻烦了.老天不负有心人,让我发现了这么一个神奇的函数EnableThemeDialogTexture,使用它轻松就解决了一切问题.
先来张效果对比图:
实现方法:
1.点击项目属性->配置属性->链接器->输入
附加依赖项 添加 UxTheme.lib
2.在子窗体Create
(就是每个Tab对话框页面)之后 添加代码
EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB);
大功告成,我们根本没不要花那么多时间去自己编写代码重绘窗体.
OnDrawItem OnCtrlColor
什么的,根本不起作用;我也考虑过在标签页子窗口中编码重绘窗体,可是这样一来,每个标签页都需要重绘实在太麻烦了.老天不负有心人,让我发现了这么一个神奇的函数EnableThemeDialogTexture,使用它轻松就解决了一切问题.
先来张效果对比图:
实现方法:
1.点击项目属性->配置属性->链接器->输入
附加依赖项 添加 UxTheme.lib
2.在子窗体Create
(就是每个Tab对话框页面)之后 添加代码
EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB);
大功告成,我们根本没不要花那么多时间去自己编写代码重绘窗体.
相关文章推荐
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- VC窗体透明而控件不透明以及Static文本背景透明方法
- MFC Tab背景颜色及窗体内控件背景颜色更改
- VC6 轻松实现 xp 样式控件
- VC窗体透明而控件不透明以及Static文本背景透明方法
- [VC中对话框窗体背景透明而控件不透明]
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- C# WinForm (笨方法)根据不同的样式配置 设置窗体相关控件的背景 以改变窗体风格
- VC窗体透明而控件不透明以及Static文本背景透明方法
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- 设置TabControl控件的样式。背景颜色
- C# WinForm (笨方法)根据不同的样式配置 设置窗体相关控件的背景 以改变窗体风格
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- VC中picture控件动态换背景及控件被picture盖住解决方案
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- VC设置控件的字体颜色和背景颜色和字体大小和样式
- (转)vc的tab控件使用