是否可以确定DrawThemeText使用的字体/大小/颜色?

时间:2011-03-08 03:29:35

标签: windows winapi fonts

Windows API具有DrawThemeText Function,可根据指定的part and state将文本绘制为某个Windows theme样式的矩形。 (Andreas Rejbrand做了neat application演示部分和状态。)

是否可以确定给定部件和状态使用的字体,大小和颜色?

GetSystemMetrics可用于查找仅一些系统字体。

2 个答案:

答案 0 :(得分:2)

有一大堆GetThemeXxxx()函数。你可能分别在寻找GetThemeFont(),GetThemeMetric()和GetThemeColor()。度量标准是一个猜测,还有其他几个与尺寸相关的。 GetThemeFont也返回字体大小。 MSDN库中的Start here

答案 1 :(得分:0)

我无法找到GetThemeFont的单个工作示例,更不用说VisualStyleRenderer.GetThemeFont的托管版本了。检查Mono源会产生作者的评论,他们也无法让GetThemeFont返回任何空值。

使用TMT_FONT会一直抛出非托管内存错误,并且使用TMT_GLYPHFONT会一直返回“不支持”错误。这种特殊的api似乎是非常有缺陷的,并且(我敢说)它是非功能性的。

标记为答案的回复根本不是答案。提交人询问如何开车,你把他指向一辆无法启动的汽车。