Лента команды Office 2007/2010 учитывает размер шрифта пользователя (Меню).
Лента Windows Ribbon Framework (используется MS Paint и моим приложением) игнорирует пользовательские (т.е. мой) настройки шрифта.
Снимок экрана:
- Excel 2010
- MS Paint (WRF)
- Мое приложение (WRF)
Как получить ленту Windows Ribbon Framework в соответствии с размером шрифта пользователя?
Bonus Chatter
Нет единого «шрифта Windows».Пользователь может настроить шесть различных шрифтов:
- Шрифт заголовка иконки
- Шрифт статуса
- Шрифт сообщения
- Шрифт меню
- Шрифт заголовка
- Шрифт малого заголовка
На ленте команды Office используется шрифт Меню , что имеет смысл, поскольку лента - это меню.Вы можете получить шрифт Меню , используя:
//Win32
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, ref nonClientMetrics, 0);
nonClientMetrics.lfMenuFont;
//.NET
SystemFonts.MenuFont;
//Delphi
TScreen.MenuFont
Цвет ленты :
По умолчанию лента не соответствует цветовой схеме пользователя(обратите внимание на мои скриншоты синюю ленту с моим коричневым стеклянным цветом). - это API для изменения цвета ленты, как вы можете видеть на 3-й ленте (той, которая размещена в моем приложении).
//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: Как изменить размер и размер шрифта? ( Этот вопрос был о том, как установитьпроизвольный размер и размер шрифта - который может использоваться для удовлетворения предпочтений шрифта Windows пользователя. Этот вопрос касается указания самой ленте соблюдать предпочтения шрифта пользователя, но при этом не удается указать произвольный размер шрифта face / size )