Office 2007/2010团队的功能区荣誉是用户(菜单)的字体大小。

Windows Ribbon Framework功能区(由MS Paint和我的应用程序使用)会忽略用户(即,我的)字体首选项。

屏幕截图显示:


Excel 2010
MS Paint(WRF)
我的申请(WRF)




如何获得Windows Ribbon Framework功能区以兑现用户的字体大小?

奖金Chat不休

没有单个“ Windows字体”。允许用户配置六种不同的字体:


图标标题字体
状态字体
讯息字型
菜单字体
字幕字体
小标题字体


Office团队的功能区使用“菜单”字体,这很有意义,因为功能区是菜单。您可以使用以下方法获取Menu字体:

//Win32
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, ref nonClientMetrics, 0);
nonClientMetrics.lfMenuFont;

//.NET
SystemFonts.MenuFont;

//Delphi
TScreen.MenuFont


色带颜色:

默认情况下,功能区不遵循用户的配色方案(在我的屏幕快照中,通知是蓝色功能区,带有我的棕色玻璃色)。如第3条功能区(在我的应用程序中托管的功能区)所示,有一个API可以更改功能区的颜色。

//change ribbon background color
IPropertyStore(framework).SetValue(UI_PKEY_GlobalBackgroundColor, glassColor);

//change ribbon font color
IPropertyStore(framework).SetValue(UI_PKEY_GlobalTextColor, Color.Black);


奖励阅读


Windows Ribbon Framework: How to change font face and size?(该问题是关于如何设置任意字体的字体和大小的,可以用来兑现用户的Windows字体首选项。此问题是关于指示功能区本身兑现用户的字体首选项,而仍然无法指定任意的字体/大小)

最佳答案

这是一个较旧的问题,但是WPF Windows功能区有一个FontSize属性:
http://www.microsoft.com/en-us/download/details.aspx?id=11877

您可以将该属性绑定到返回SystemFonts.MenuFontSize的函数,并获取所需的较大文本。

关于windows-ribbon-framework - 如何使Windows Ribbon Framework尊重用户的字体大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9467473/

10-13 07:32
查看更多