y290176346 发表于 2015-9-19 15:34:03

关于获得字符宽度和高度问题

不明白为什么获得字符的宽度和高度的函数GetTextMetrics,WM_CREATE消息时还没有打印字体,GetTextMetrics是根据什么得到的。参数里面有hdc,hdc又是根据什么知道字体的情况的,大神们能明白吗

认真 发表于 2015-9-19 15:34:04

当窗口创建的时候,虽然没有显示出来,但在内存中已经存在。
窗口存在的时候就有一个默认字体,调用GetTextMetrics就知道字体情况
hdc就是一个门,门内有什么它都知道,它掌管打印机,绘图,。。。。。这些功能

santaclaus 发表于 2015-9-19 21:23:35

每个DC环境中,在没选入字体的时候,都预设了默认的字体。当你选入自定义的字体时,就会替换掉预设的字体。

freeparty 发表于 2015-9-26 07:35:48

GetTextMetrics是用来获取一个系统的信息结构,通过信息结构里面的字段值可以知道字符的宽高,以及基线等信息,传入DC句柄是因为获取的信息是相对于DC的,换个DC可能字符大小就不一样了。

y290176346 发表于 2015-9-26 13:44:10

干些freeparty 老师谢谢
页: [1]
查看完整版本: 关于获得字符宽度和高度问题