当我通过 Win32 API 的 DrawText 函数绘制文本时,
有没有办法确定将使用哪种字体,或者确定字体大小、粗体或斜体?
PS我用C#写的
问问题
597 次
1 回答
6
正如MSDN 所说,
DrawText 函数使用设备上下文的选定字体、文本颜色和背景颜色来绘制文本。
这意味着您可以从设备上下文中获取当前字体句柄,然后获取LOGFONT
为您提供您请求的字体详细信息的结构。
由于 API 使用当前选择的字体,要更改它,您需要有可用的新字体句柄(您通常预先创建它,或者HFONT
使用例如CreateFont
或CreateFontIndirect
API 获取字体句柄)。然后在调用之前,DrawText
您将当前选择的字体替换为您自己使用的字体,一旦完成,您将使用另一个调用SelectObject
放回原始字体。SelectObject
于 2012-10-14T09:35:38.743 回答