在DrawText win32函数中设置格式

use*_*067 1 c# winapi

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

Rom*_* R. 6

正如MSDN所说,

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

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

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