有没有办法改变CMFCBaseTabCtrl
的线条和背景颜色?
我可以通过SetTabBkColor(...)
或SetAutoColors(...)
更改标签颜色,但控件的标题和行仍为灰色。
SetSysColors(...)
不是一个选项,因为它会为整个操作系统全局更改颜色。
基本上我们需要应用一些精简/深色配色方案。我找不到更改标签控件背景和线条颜色的方法。当标签背景颜色由SetTabBkColor(...)
设置时,它会留下标签边框附近的空间。
此外,预计SetActiveTabColor(...)
将更改活动标签的背景,但它几乎没有任何内容。
并且无法更改活动选项卡的文本颜色。我相信这些东西是可定制的,但无法找到。
答案 0 :(得分:1)
从CMFCVisualManager的当前实例中检索颜色。
使用CMFCVisualManager :: GetTabFrameColors。还有其他一些管理器功能,如OnEraseTabsFrame和OnEraseTabsArea。
因此,从您喜欢的视觉管理器派生出您自己的视觉管理器。覆盖特定功能,以便您可以更改颜色和行为。
没有其他办法。刚进入void CMFCTabCtrl :: OnDraw(CDC * pDC)的源代码
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ mfc \ afxtabctrl.cpp