如何在 fmx 网格中使用从右到左的语言
How to use right to left languages in fmx grids
在 FMX 中创建支持双向模式和从右到左语言的网格的最佳方法是什么
我试过 fmxrtl 但它有很多错误
谢谢
您的应用仅适用于 Windows 吗? 如果是,我用一个函数检测它是否是双向字符串,然后使用 TTextLayout my test here
否则,尝试使用 SKIA4Delphi (XE7+)Supporting right to left
我测试了一个 Android 小应用 ScreenShot
procedure TForm1.Grid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas;
const Column: TColumn; const Bounds: TRectF; const Row: Integer;
const Value: TValue; const State: TGridDrawStates);
begin
if (Column.Index=1) AND (Row>=1)
then begin
Canvas.Fill.Color:=TAlphaColors.Red;
Canvas.FillText(Bounds,Value.ToString,false,1,[TFillTextFlag.RightToLeft],TTextAlign.Leading);
end
else Column.DefaultDrawCell(Canvas,bounds,row,value,state);
end;
在 FMX 中创建支持双向模式和从右到左语言的网格的最佳方法是什么 我试过 fmxrtl 但它有很多错误 谢谢
您的应用仅适用于 Windows 吗? 如果是,我用一个函数检测它是否是双向字符串,然后使用 TTextLayout my test here 否则,尝试使用 SKIA4Delphi (XE7+)Supporting right to left
我测试了一个 Android 小应用 ScreenShot
procedure TForm1.Grid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas;
const Column: TColumn; const Bounds: TRectF; const Row: Integer;
const Value: TValue; const State: TGridDrawStates);
begin
if (Column.Index=1) AND (Row>=1)
then begin
Canvas.Fill.Color:=TAlphaColors.Red;
Canvas.FillText(Bounds,Value.ToString,false,1,[TFillTextFlag.RightToLeft],TTextAlign.Leading);
end
else Column.DefaultDrawCell(Canvas,bounds,row,value,state);
end;