Ich habe auf einer FMX Form ein TImage (400x400) und einen Button mit einem OnClick Event handler, desses Code wie folgt aussieht
Code:
procedure TForm7.Button1Click(Sender: TObject);
const lTextOut = 'Hallo, guten Morgen! Wie geht''s ? ';
var
BMP: TBitmap;
R: TRectF;
bWordWrap : Boolean;
lWidth : Single;
begin
BMP := TBitmap.Create;
BMP.SetSize(400, 400);
try
BMP.Clear(TAlphaColorRec.Wheat);
BMP.Canvas.BeginScene;
R.Create(10, 10, 390, 390);
BMP.Canvas.Font.Size := 36;
BMP.Canvas.Font.Style:=[TFontStyle.fsbold];
lWidth := BMP.Canvas.TextWidth(lTextOut);
bWordWrap := (lwidth > 380);
BMP.Canvas.FillText(R, lTextOut, bWordWrap, 1, [TFillTextFlag.RightToLeft], TTextAlign.Center, TTextAlign.Center);
BMP.Canvas.EndScene;
Image1.Bitmap.Assign(BMP);
finally
FreeAndNil(BMP);
end;
end;
Wenn ich es einfach so ausgebe, dann ist das 2-zeilig. In der 1. Zeile steht "
Hallo, guten Morgen!", in der 2. Zeile "
? Wie geht's"
Ersetze ich das Fragezeichen am Ende mit einem Ausrufezeichen, passiert dasselbe, ersetze ich es mit einem "a", dann kommt das a wie im String am Ende...
Gibt es dafür eine Erklärung ?