Jetzt hatte ich es zwar so gemanagt, dass ich die Platform-Memos (außer beim ersten Tab) erst mal alle unsichtbar schalte und erst anzeige, wenn das entsprechende Tab angezeigt wird.
Das funktioniert soweit...
aber... (das war zu erwarten)
Bei TMemos mit ControlType platform,
die zur Laufzeit erstellt werden, lässt sich nicht die Eigenschaft Textsettings.wordwrap auf True setzen, bzw. hat keine Auswirkungen.
Das funktioniert NUR: wenn man die Eigenschaft VORHER setzt und dann das Memo auf Platform umschaltet.
Das muss man erst mal herausfinden...
Müsste also so aussehen:
Delphi-Quellcode:
{$Region 'Memo'}
if GetFieldStr (#3, Field, 1) = 'Memo' then begin
with TMemo.Create(sbox) do begin
Textsettings.WordWrap := True; // VOR (!!) der ControlType Änderung, danach keine Wirkung
Parent := sbox;
Position.y := StrToInt (GetFieldStr (#3, Field, 3));
Position.x := StrToInt (GetFieldStr (#3, Field, 4));
Width := StrToInt (GetFieldStr (#3, Field, 5));
Height := StrToInt (GetFieldStr (#3, Field, 6));
Hint := csvField.Feldname;
ShowHint := True;
ControlType := TControlType.Platform; // erst am Ende, wenn alle Eigenschaften gesetzt
end;
end;
{$EndRegion}
Und gerade stelle ich fest, dass auch Positon und Sichtbarkeit des TMemos stimmen, wenn man die Controltype-Eigenschaft ganz am Ende setzt
Damit kann ich jetzt leben...