Определить системный шрифт Windows - PullRequest
2 голосов
/ 19 октября 2008

Что такое вызов Win32 API для определения общесистемного шрифта (в частности, цвета), скажем, для меню.

Это было бы равносильно переходу в Настройки внешнего вида - Дополнительно - и затем выбору Меню в качестве элемента для просмотра.

Я могу использовать GetSysColor, чтобы найти цвета различных общесистемных элементов окна, но не могу найти эквивалент для шрифтов.

Ответы [ 3 ]

3 голосов
/ 19 октября 2008

GetSysColor (COLOR_MENUTEXT) дает вам цвет шрифта меню.

SystemParametersInfo Позволит вам восстановить некоторую информацию о шрифте, также как GetStockObject для рисования в контексте устройства.

Но системный шрифт (вероятно) либо Tahoma (на XP / W2K), либо MS Sans Serif в зависимости от того, как вы настроили диалог.

Подробнее см. http://blogs.msdn.com/oldnewthing/archive/2005/02/04/366987.aspx.

0 голосов
/ 11 февраля 2016

Вы можете использовать SystemParametersInfo, чтобы найти следующие шрифты:

SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ...) возвращает структуру NONCLIENTMETRICS , содержащую LOGFONT структуры для:

  • lfCaptionFont - шрифт, используемый как для «активной строки заголовка», так и для «неактивной строки заголовка»
  • lfSmCaptionFont - шрифт, используемый для небольших строк заголовка, "Название палитры"
  • lfMenuFont - шрифт, используемый в строках меню.
  • lfStatusFont - шрифт, используемый в строке состояния и подсказках
  • lfMessageFont - шрифт, используемый в окнах сообщений.

SystemParametersInfo(SPI_GETICONTITLELOGFONT, ...) возвращает структуру LOGFONT для текста, сопровождающего значки.


В C # / .NET вы можете использовать System.System.Drawing.SystemFonts класс (WinForms) или System.Windows.SystemFonts класс (WPF).

0 голосов
/ 19 октября 2008

В C # есть Control.DefaultFont , а для собственного доступа в этом блоге описывается вызов API win32 для его получения. Вызов API - это SystemParametersInfo ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...