0

我试图弄清楚如何调整文本框的大小以紧密适合三行换行文本。我正在使用 vb6,但如果我能理解,我会接受任何语言的答案。

问题是我有一个带有长标题和三行文本空间的 flexgrid,我想调整文本区域的大小以完全适合三行文本,而不会将文本换行到第四行,并且文本宽度应该是尽可能窄。

我意识到,如果我能弄清楚如何为文本框或标签做到这一点,我将或多或少地解决了这个问题。可能可以使用 Windows API 完成,但我们将不胜感激。

4

1 回答 1

0

我对 Windows 开发不太熟悉,但我有一个打印标签的 .net 程序集,并且在用户用来向标签添加信息的 UI 中,我需要根据它们的行数计算整体文本的长度说他们希望文本适合,如果我根据他们提供的文本和他们指定的字体大小确定文本太长以适合 (x) 行数,我缩小字体大小,重新计算,然后重复直到这一切都合适。

根据您使用的字体,无论是等宽字体,长度都会有所不同(等宽字体显然每个字符的宽度相同,非等宽字体将根据字符而有所不同......就像不同的在 M 和 I 之间)。

在我的 c#.net 应用程序中,我使用 Graphics.MeasureString (textString, font[name,size,style,units]) 来告诉我我的字符串有多宽。

你可能有类似的东西可用。如果您可以计算文本字符串的宽度,则可以除以 3 并相应地应用列数。

于 2013-09-11T22:49:22.173 回答