0

我们有一个最终用户应用程序,允许您将多行文本写入文本框,它将这些信息保存到文本文件中。在下一次会话中,从文件中检索信息以显示文本。问题有时是在下一个会话中,文本框的边界正在剪切文本,因此用户必须手动调整文本框的大小。我想以编程方式确定文本框是否需要调整大小。

GetTextExtentPoint32() 似乎适用于根据设备上下文中选择的当前字体测量线条的实际绘制宽度。但是现在我正在解决在垂直方向调整文本框边界大小的需要。GetTextExtentPoint32() 确实给了我高度,这似乎是正确的,但我得到的总高度有点太小了。我相信我需要测量每条线之间的空间,但我不太确定?

更新:看起来我正在寻找 TEXTMETRIC.tmExternalLeading 和 TEXTMETRIC.tmInternalLeading。有趣的是对于某些字体和大小,计算是正确的,我可以完美地适应我的文本。但是对于某些字体和大小,计算有点太小了,那样的话,似乎前导太小或为0?

4

1 回答 1

0

只要我记得你可以使用GetTextMetrics函数和 (Metrics.tmAscent + Metrics.tmDescent) 应该是你正在寻找的值

于 2013-02-01T21:44:07.923 回答