如何在 TWebMemo 组件内使文本居中

How to center text inside a TWebMemo component

提问人:Moshelly Els 提问时间:10/31/2023 最后编辑:Moshelly Els 更新时间:10/31/2023 访问量:147

问:

我正在尝试在我的 TWebMemo 组件中将我的文本居中,但我无法做到,有没有人知道如何将文本居中?

德尔福 中心 TMS TMS-WEB-CORE

评论

0赞 fpiette 10/31/2023
目前尚不清楚您使用哪个备忘录组件。标准 Delphi TMemo 组件没有任何文本格式。它就像Windows记事本应用程序:原始文本。请改用 TRichEdit。这是一个 RTF 组件,能够像 Windows 写字板应用程序一样格式化文本。
0赞 fpiette 10/31/2023
忘了说您可以在每行前面添加空格以使其居中。您可以获取备忘录宽度、字体大小和文本宽度(请参阅 TCanvas 属性)并计算必须插入多少个空格。
1赞 Tom Brunberg 10/31/2023
感谢您的编辑。不过,您没有澄清,无论您是要求水平居中、垂直居中还是两者兼而有之
1赞 Matthias B 10/31/2023
我看到原始问题已被编辑,现在询问的是 TWebMemo 而不是 TMemo。我不知道TWebMemo是否也具有Alignment属性。
1赞 Moshelly Els 10/31/2023
@tombrunberg我想在水平和垂直方向上将其居中

答:

0赞 Matthias B 10/31/2023 #1

将 TMemo 的 Alignment 属性设置为 taCenter,而不是 taLeftJustify。

评论

0赞 Matthias B 10/31/2023
我看到原始问题已被编辑,现在说 TWebMemo 而不是 TMemo。我不知道我的答案是否仍然适用于 TWebMemo。它适用于标准 TMemo。
1赞 Shaun Roselt 10/31/2023
我刚才检查了一下。没有属性。TWebMemoAlignment
1赞 Shaun Roselt 10/31/2023 #2

将文本垂直居中有点棘手,但这里有一个答案,可以在 .没有像 VCL 组件那样的属性。TWebMemoTWebMemoAlignmentTMemo

有两种方法可以水平对齐文本。一个带 Bootstrap,一个不带 Bootstrap。

没有 Bootstrap

当它被编译为 HTML 时,它实际上只是一个普通的 HTML 标签。因此,您可以简单地将文本水平居中:TWebMemo<textarea>text-align

WebMemo.ElementHandle.style.setProperty('text-align','center');

使用 Bootstrap

如果您使用的是 Bootstrap,则可以将该类添加到 的属性中。您也可以通过代码添加以下内容:text-centerTWebMemoElementClassName

WebMemo.ElementClassName := 'text-center';

如果您已经有其他 Bootstrap 类,那么您可以执行以下操作,将新类与现有类一起添加:

WebMemo.ElementClassName := WebMemo.ElementClassName + ' text-center';