当我通过Win32 API的DrawText函数绘制文本时
有没有办法确定使用哪种字体,或确定字体大小,粗体还是斜体?
PS我用C#写的
答案 0 :(得分:6)
作为MSDN says,
DrawText函数使用设备上下文的选定字体,文本颜色和背景颜色来绘制文本。
这意味着您可以从设备上下文获取当前字体句柄,然后获取LOGFONT
结构,该结构为您提供有关您请求的字体的详细信息。
由于API使用当前选择的字体,要更改它,您需要使用新的字体句柄(通常使用例如CreateFont
或{预先创建它,或以其他方式获得HFONT
字体句柄{1}} API)。然后在致电CreateFontIndirect
之前,使用DrawText
将您当前选择的字体替换为您自己的字体,一旦完成,您可以使用另一个SelectObject
电话将原始字体放回原位。