Winapi 确定windows系统范围的字体

Winapi 确定windows系统范围的字体,winapi,Winapi,Win32 API调用是什么来确定菜单的系统范围字体(特别是颜色) 这相当于进入“外观设置-高级”,然后选择“菜单”作为要查看的项目 我可以使用GetSysColor查找各种系统范围窗口元素的颜色,但找不到字体的等效颜色。在C#中,有,对于本机访问,描述了获取它的win32 API调用。API调用是SystemParametersInfo()。GetSysColor(COLOR\u MENUTEXT)为您提供菜单字体颜色 SystemParametersInfo将允许您恢复一些字体信息,类似于G

Win32 API调用是什么来确定菜单的系统范围字体(特别是颜色)

这相当于进入“外观设置-高级”,然后选择“菜单”作为要查看的项目

我可以使用GetSysColor查找各种系统范围窗口元素的颜色,但找不到字体的等效颜色。

在C#中,有,对于本机访问,描述了获取它的win32 API调用。API调用是SystemParametersInfo()。

GetSysColor(COLOR\u MENUTEXT)为您提供菜单字体颜色

SystemParametersInfo将允许您恢复一些字体信息,类似于GetStockObject,以便在设备上下文上绘制

但是系统字体可能是Tahoma(在XP/W2K上)或MS Sans Serif,具体取决于您如何设置对话框

有关详细信息,请参阅。

您可以使用查找以下字体:

SystemParametersInfo(SPI\u GETNONCLIENTMETRICS,…)
返回包含以下内容的

  • lfCaptionFont
    ——用于“活动标题栏”和“非活动标题栏”的字体
  • lfSmCaptionFont
    ——用于小标题栏的字体,“调色板标题”
  • lfMenuFont
    ——菜单栏中使用的字体
  • lfStatusFont
    ——状态栏和工具提示中使用的字体
  • lfMessageFont
    ——消息框中使用的字体
SystemParametersInfo(SPI_GETICONTITLELOGFONT,…)
返回图标所附文本的
LOGFONT
结构



在C#/.NET中,您可以使用(WinForms)或(WPF)。

SPI\u GETNONCLIENTMETRICS
SPI\u GETICONTITLELOGFONT
似乎是传递给
系统参数info