当前位置:鱼C工作室 >Windows程序设计 > 查看文章

不要试图猜测文本的尺寸 – Windows程序设计(SDK)010

不要试图猜测文本的尺寸

 

让编程改变世界

Change the world by program


 

今天我们的标题有点奇葩,那是因为我怕待会讲得太精彩,大家把重点给忘了,所以我把重点作为标题。今天的内容对于你养成良好的编程习惯大有脾益。摊开来说,其实也很简单。一个好的设计模式或者说编程习惯,就是不要把东西给写死了!

 

上一节课我们要显示多行数据,我们必须要有一个行距,然后每次循环让 y 坐标加上这个行距,这样看起来就可以一行行地打印数据了。我们这里定义的宏 LINEHEIGHT 是 15,程序也能正常的运行,可能认为能正常运行就没问题了。但事实上,我们这样做是有问题的。

 

MapingMode

MapingMode

 

文本尺寸的度量

 

我们刚才也说了,如果可以让Windows自己告诉我们行距应该是多少为最佳,这样做才是最好的方法。那Windows有没有这样的功能呢?对于其他编程语言来说,不一定有,但对于SDK编程来说……一!定!有!

【API档案】GetTextMetrics

 

通过调用 GetTextMetrics 函数,程序可以获取有关当前字体的很多信息,获取后函数会把这些信息填充到参数 lptm 中。这个参数是指向 TEXTMETRIC 结构的指针。

【API档案】TEXTMETRIC结构

 

这个结构成员也不少,但目前我们只需要理解前七个就够用了。我们看图理解:

TEXTMETRIC

TEXTMETRIC

….. 此处省略N多内容,具体请看视频讲解 ……


为您推荐

报歉!评论已关闭.