none
Ribbon界面的背景色该怎么修改呢? RRS feed

答案

  • Hi Hota_CT,

    >>他是在加载MFC自带资源文件来达到更改风格的目的

    那么请问用户有办法自己创建或修改资源文件来达到自己想要的背景颜色和风格吗

    CMFCVisualManagerOffice2007::SetStyle是用来设置MFC视图的颜色主题。相当于创建MFC工程时,选择的视图样式。

    是不能使用自己创建的资源文件来修改的。

    Windows Ribbon拥有自己的框架,你可以尝试通过UI_PKEY_GlobalBackgroundColor 来修改ribbon框架的背景颜色。

    下面的文档中有示例。

    https://msdn.microsoft.com/en-us/library/windows/desktop/dd371202(v=vs.85).aspx

    希望对你有所帮助。

    Best Regards,
    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    • 已标记为答案 Hota_CT 2017年9月20日 2:06
    2017年7月14日 7:42

全部回复

  • Hi Hota_CT,

    感谢在MSDN论坛发帖。

    >>Ribbon界面的背景色该怎么修改呢?

    如果你是MFC的程序,你可以尝试重写OnCtlColor方法,然后使用SetBkColor函数来修改控件的颜色。

    这里有篇类似的帖子,你可以参考一下。

    https://stackoverflow.com/questions/20154391/mfc-how-do-i-change-the-background-color-of-the-whole-editbox

    如果你是desktop程序,你可以尝试修改Ribbon framework key中的UI_PKEY_GlobalBackgroundColor 值。来修改Ribbon的颜色。

    具体内容可以参考以下文档。

    https://msdn.microsoft.com/en-us/library/windows/desktop/dd940487(v=vs.85).aspx#specify

    希望对你有所帮助。

    Best Regards,

    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    2017年7月4日 1:41
  • 是MFC程序,但是第一种修改背景色的方法只能针对普通的dlg进行修改,对于Ribbon是没法修改的
    2017年7月5日 1:52
  • 在Ribbon下,发现用这个函数CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_LunaBlue);

    可以更改Ribbon的背景和风格,我跟进去之后发现

    if (::FindResource(hinstRes, strStyle, AFX_RT_STYLE_XML) == NULL)
    {
    TRACE(_T("Cannot load Style: %Ts\r\n"), strStyle);
    ASSERT(FALSE);
    return FALSE;
    }

    他是在加载MFC自带资源文件来达到更改风格的目的

    那么请问用户有办法自己创建或修改资源文件来达到自己想要的背景颜色和风格吗

    2017年7月7日 1:46
  • Hi Hota_CT,

    >>他是在加载MFC自带资源文件来达到更改风格的目的

    那么请问用户有办法自己创建或修改资源文件来达到自己想要的背景颜色和风格吗

    CMFCVisualManagerOffice2007::SetStyle是用来设置MFC视图的颜色主题。相当于创建MFC工程时,选择的视图样式。

    是不能使用自己创建的资源文件来修改的。

    Windows Ribbon拥有自己的框架,你可以尝试通过UI_PKEY_GlobalBackgroundColor 来修改ribbon框架的背景颜色。

    下面的文档中有示例。

    https://msdn.microsoft.com/en-us/library/windows/desktop/dd371202(v=vs.85).aspx

    希望对你有所帮助。

    Best Regards,
    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    • 已标记为答案 Hota_CT 2017年9月20日 2:06
    2017年7月14日 7:42