布局 - 从右到左和水平对齐有什么区别?



将TTextLayout.RightToLeft设置为True似乎与将TTextAlign.HizontalAlign设置为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/.添加一行带有结尾感叹号的文本,例如";你好,世界&";。然后播放设置。你会看到感叹号的位置。

结果如下。|用于显示左右边缘

Align=Left, RightToleft=FALSE
|Hello World!                      |
Align=Right, RightToleft=FALSE
|                      Hello World!|
Align=Left, RightToleft=TRUE
|                      !Hello World|
Align=Right, RightToleft=TRUE
|!Hello World                      |

为什么它会这样工作?我认为它与从右到左(阿拉伯(或从左到右(英语(书写的语言有关。

最新更新