在NONCLIENTMETRICS中,状态字体,消息字体和字幕字体有什么区别?

时间:2011-01-03 02:01:59

标签: c++ windows internationalization fonts

好的,刚刚发现使用DEFAULT_GUI_FONT实际上用作默认的GUI字体是错误的....有一个NONCLIENTMETRICS结构我被告知要使用,但是我不确定我应该使用哪些字体返回 - 即状态字体,消息字体和字幕字体之间有什么区别,我应该在何时使用它们?

2 个答案:

答案 0 :(得分:1)

说明很清楚,不是吗?

  

lfMenuFont指向LOGFONT的指针   包含信息的结构   关于菜单栏中使用的字体。

     

lfStatusFont指向LOGFONT的指针   包含信息的结构   关于状态栏和中使用的字体   工具提示。

     

lfMessageFont指向LOGFONT的指针   包含信息的结构   关于消息框中使用的字体。

使用菜单字体作为下拉菜单,使用状态行显示状态行,使用消息字体作为消息框。

编辑:遗憾的是lfCaptionFont和lfSmCaptionFont的描述是自我引用的:

  

lfCaptionFont指向LOGFONT的指针   包含信息的结构   关于标题字体。

窗口的标题是客户区上方的矩形,其中显示窗口标题和关闭按钮。这使用标题字体。消息字体用于消息框。

答案 1 :(得分:0)

显然“MS Shell Dlg”是一个魔术字体名称,它映射到默认字体{在所有中等版本的Windows上,虽然XP引入了“MS Shell Dlg 2”,但并非所有语言版本:(} - { {3}} - 有一些信息preemptive obligatory xkcd link以及更多herehere

但你应该去here。当然,您仍然需要从SystemParametersInfo获得首选尺寸。