如何定义要应用的系统主题以匹配新样式并应用它。请找到实际和预期风格的附图。
MDI框架窗口颜色:
到目前为止,我尝试了以下方法,但没有产生预期的结果。
1:使用Windows API设置应用程序标题以下代码设置会话的应用程序标题栏的颜色。但是在Windows 8.1和10上使用主题设置等,它不会生效。
int aElement = COLOR_ACTIVECAPTION;
DWORD aOldColor;
DWORD aNewColor;
aOldColor = GetSysColor(aElement);
aNewColor = RGB(0x04, 0x04, 0x04);
SetSysColors(1, &aElement, &aNewColor);
2:使用主题/ DWM API
如果Windows主题生效,则单独更改应用程序标题栏不会成功。试过了:
2-a:获取主题句柄,定义标题栏并在调用CMFCVisualManager::GetInstance()->OnDrawCaptionBarBorder()
时使用标题栏
2-b:DwmSetWindowAttribute()
用于设置禁用渲染政策。
3:使用CMFCVisualManager
定义CMFCCaptionBar
并将其分配给CMFCVisualManager
。这也没有得到所需的效果。