Как заставить Windows Ribbon Framework учитывать размер шрифта пользователя?

Лента команды Office 2007/2010 учитывает размер шрифта (Меню) пользователя.

Лента Windows Ribbon Framework (используемая MS Paint и моим приложением) игнорирует пользовательские (то есть мои) настройки шрифта.

Снимок экрана, показывающий:

  • Excel 2010
  • MS Paint (WRF)
  • Мое приложение (WRF)

enter image description here

Как я могу получить ленту Windows Ribbon Framework для соблюдения шрифта пользователя размер?

Bonus Chatter

Не существует единого «шрифта Windows». Пользователь может настроить шесть различных шрифтов:

  • Шрифт заголовка значка
  • Шрифт состояния
  • Шрифт сообщения
  • Шрифт меню
  • Шрифт заголовка
  • Шрифт малых подписей

На ленте команды Office используется шрифт Menu , который имеет смысл, поскольку лента представляет собой меню. Вы можете получить шрифт меню , используя:

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

//.NET
SystemFonts.MenuFont;

//Delphi
TScreen.MenuFont

Цвет ленты :

По умолчанию лента не поддерживает цветовую схему пользователя (обратите внимание на мои снимки экрана на синюю ленту с моим коричневым цвет стекла). Там есть 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: Как изменить начертание и размер шрифта? ( Этот вопрос касался того, как установить произвольное начертание и размер шрифта, которые можно было бы использовать в соответствии с Windows пользователя настройки шрифта. Этот вопрос касается указания самой ленте соблюдать предпочтения шрифта пользователя, но при этом не может указать произвольное начертание / размер шрифта )

17
задан Community 23 May 2017 в 12:00
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: