4

我正在使用 TMemo 组件在有限的空间中显示一些文本。目前它使用的是一种不随 windows 一起提供的 truetype 字体,它在运行时由应用程序安装。

在我的 PC(运行 Windows XP)上,每行文本之间的间距似乎约为 8 个像素。在另一台运行 Windows 7 的 PC 上,行距似乎约为 14 像素,这使得最下面一行的文本无法在备忘录中显示。

所以,我的问题是这样的:

  1. 这是由不同版本的Windows引起的吗?这就是我能想到的不同。
  2. 有什么方法可以调整这个值,以便它在应用程序的所有实例中保持一致,无论它在哪里运行?

或者,我可以使用不同的组件来调整这个值吗?

4

2 回答 2

2

TMemo 是 Windows 通用控件的后代,它的行为取决于当前的 Windows 配置,因此很自然会得到不同的结果。

如果您只想显示一些信息,最好使用组件,它可以让您设置文本位置及其样式,就像 TRichView 一样。这个组件不是免费的,但它有自己的文本渲染引擎,可以让你使用 CSS 样式的文本,就像在不同版本的窗口中看起来一样的选择器。

于 2010-12-21T07:49:47.253 回答
1

除了 Mohsen 的回答,我还想提一下 LMD ElPack,它是 ElEdit 组件,它也有自己的文本渲染引擎。与 TRichView 不同,ElEdit 是纯文本编辑/备忘录组件,因此它是 TEdit/TMemo 的直接替代品。行高可以在那里配置

于 2010-12-21T08:03:44.330 回答