Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FMX: TMemo 1000 Lines PasteFromClipboard Limit

  Alt 14. Okt 2017, 18:23
Wenn ich die Bulk-Konstante auf 1000000 erhöhe, kann ich hier ca. 7000 Zeilen einfügen, aber nicht mehr. Bringt also auch nichts.

Die Alternative, das TMemo mit ControlType "Plattform" zu nutzen, hilft zwar für das Einfügen des Textes, das funktioniert dann.

Leider bringt das andere Probleme mit sich. Ich verwende hier einen dynamisch erzeugten Dialog, der in mehreren TabItems (dort in einer Scrollbox) verschiedene TEdits oder TMemos ablegt.

Mit Controltype "Styeld" werden die TMemos alle bei Anzeige des Formulars nur angezeigt, wenn das entsprechende TabItem aufgerufen wird, siehe Screenshot1.

so erzeuge ich das TMemo und füge es in die Scrollbox ein:

Delphi-Quellcode:
  {$Region 'Memo'}
    if GetFieldStr (#3, Field, 1) = 'Memothen begin
      with TMemo.Create(sbox) do begin
        //ControlType := TControlType.Platform;
        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));
        Textsettings.WordWrap := True;
        Hint := csvField.Feldname;
        ShowHint := True;
     end;
   end;
  {$EndRegion}
Aktiviere ich aaber ControlType = Platform, sieht das Formular beim Aufruf wie in Screenshot2 aus.

Die Memos liegen also alle übereinander in der Form. Witzigerweise: Wenn man einmal durch alle Tabs durchklickt, dann werden die Memos anscheinend mit ihrem richtigen Parent verbunden (oder der Sichtbarkeitsstatus richtig gesetzt) und dann stimmt wieder alles...

Es ist zum heulen...
Miniaturansicht angehängter Grafiken
shot1.jpg   shot2.jpg  
  Mit Zitat antworten Zitat