1

当我通过 Win32 API 的 DrawText 函数绘制文本时,
有没有办法确定将使用哪种字体,或者确定字体大小、粗体或斜体?
PS我用C#写的

4

1 回答 1

6

正如MSDN 所说

DrawText 函数使用设备上下文的选定字体、文本颜色和背景颜色来绘制文本。

这意味着您可以从设备上下文中获取当前字体句柄,然后获取LOGFONT为您提供您请求的字体详细信息的结构。

由于 API 使用当前选择的字体,要更改它,您需要有可用的新字体句柄(您通常预先创建它,或者HFONT使用例如CreateFontCreateFontIndirectAPI 获取字体句柄)。然后在调用之前,DrawText您将当前选择的字体替换为您自己使用的字体,一旦完成,您将使用另一个调用SelectObject放回原始字体。SelectObject

于 2012-10-14T09:35:38.743 回答