delphi - TTextLayout - RightToLeft 和 HorizontalAlign 有什么区别?
问题描述
将 TTextLayout.RightToLeft 设置为 True 似乎与将 TTextAlign.HorizontalAlign 设置为 TTextAlign.Trailing 相同。那么 RightToLeft 的意义何在?事实上,它们似乎相互颠倒。如果我将 RightToLeft 设置为 True 并将 HorizontalAlign 设置为 Trailing 则文本再次位于左侧,我希望 RightToLeft 会导致文本像希伯来语文本一样从右到左书写,但事实并非如此。TTextLayout 是否以任何方式从右到左支持希伯来语风格?
解决方案
你的观察是不正确的。
使用此演示:https ://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RadStudio_XE6/Object%20Pascal/FireMonkey%20Desktop/TextLayoutDemo/ 。添加一行以感叹号结尾的文本,例如“Hello World!”。然后玩设置。你会看到感叹号的位置。
这是结果。用于显示|
左右边距
Align=Left, RightToleft=FALSE
|Hello World! |
Align=Right, RightToleft=FALSE
| Hello World!|
Align=Left, RightToleft=TRUE
| !Hello World|
Align=Right, RightToleft=TRUE
|!Hello World |
现在为什么它会这样工作?我认为这与从右到左(阿拉伯)或从左到右(英语)书写的语言有关。
推荐阅读
- bitmap - 静态位图无法在不同显示器上正确缩放图像,CreateCompatibleBitmap 问题
- excel - 使用 Apache POI (Java) 在 XLSX 中创建复选框
- html - font-face CSS 不会出现在 HTML 中
- autodesk-forge - BIM 360 项目创建模板
- pipeline - 我们如何让管道读取带有特殊字符的列?
- maven - 如何通过 Jenkins 管道从多个存储库中动态签出功能分支?
- python - Paramiko ValueError "p 必须恰好是 1024、2048 或 3072 位长"
- android - 如何判断 mergeDelayError 中的哪些 Completable 没有在超时时发出信号
- xml - 我想使用Powershell在sharepoint 2010中获取信息路径项目的xml,但似乎在项目中找不到xml文件如何解决这个问题
- terraform - 将多个提供程序别名传递给 terraform 0.12.13 中的模块