【发布时间】:2013-12-16 19:43:18
【问题描述】:
在我使用 Builder C++ 6 为 Windows 编写的软件中,我需要创建一个 .pdf 文章,其中包含用户编辑的一些信息并存储在数据库中。此信息的一部分必须在设计的矩形内绘制,因此我需要检查 55max 字符串是否适合矩形内的一行。如果不是,那么我需要计算应该在哪里换行(\n)。
通常文本确实适合只有 55 个字符的矩形,但有时一些不常见的文本(例如“WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...”)虽然具有相同数量的字符,但最终会弄乱整个事情。换句话说,我不能使用字符串中的字符数来确定何时换行,而是以像素(或其他度量单位)为单位的文本长度,所以我可以检查字符串在.pdf 是否是矩形容器。
我尝试了 GetCharABCWidths()、GetTextExtentPoint32() 等函数,但没有成功(每次我将函数用于相同的字符串/字符时,所谓的“逻辑单元”都不同,我不知道如何使用它们,或者即使它们明显不同('1' 与 'W' 相比),char 的长度也相同,或其他)。
那么我该怎么做呢?
【问题讨论】:
标签: text-size