答案 0 :(得分:0)
您可以在MainFrm.cpp中禁用自动颜色
int CMainFrame::OnCreate(...)
{
//...
mdiTabParams.m_bAutoColor = FALSE; // set to FALSE to disable auto-coloring of MDI tabs
}
也许你已经知道了!将标签的背景颜色更改为特定的颜色可能非常棘手,因为它全部与所选主题相关联。但你可以这样做,例如通过以下方法:
ON_REGISTERED_MESSAGE(AFX_WM_CHANGING_ACTIVE_TAB, &CMainFrame::OnAfxWmChangingActiveTab)
LRESULT CMainFrame::OnAfxWmChangingActiveTab(WPARAM wParam, LPARAM lParam)
{
CMFCTabCtrl* tab = (CMFCTabCtrl*)lParam;
if (tab)
tab->SetTabBkColor(wParam,RGB(255,0,0));
return 0;
}
答案 1 :(得分:0)
您还可以通过以下代码禁用标签颜色:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(-1 == CMDIFrameWndEx::OnCreate(lpCreateStruct))
return -1;
....
CMFCTabCtrl& MFCTabCtrl = GetMDITabs();
MFCTabCtrl.EnableAutoColor(FALSE);
....