Wie ein ListBox-Feld, das als TextArea definiert ist füllen?

Wie kann ich ein als TextArea definierte ListBox- Feld mit einem Stylerun oder RTF-Daten füllen?
Hat jemand ein Beispiel. Die Definiton ald TextArea funktioniert, aber zB die Zuweisung eines StyleRuns scheint nicht zu funktionieren.

Hast du eine TextArea in eine ListBox eingefügt?

Ausgangspunkt: Eine Datenbank mit Textzeilen
Ein Record enthält u. a. z.B. die RTFDaten der Zeile.

Das Grundgerüst sieht dann. so aus:

Listbox.AddRow lastcur.StringField(“fldETextZNR”).GetString
Listbox.CellTypeAt(LB_ZNR.LastAddedRowIndex, 1) = DesktopListbox.CellTypes.TextArea
s = lastcur.VarCharField(“fldRTFText”).GetString

Mit einer ‘normalen’ Textarea kann ich nun sagen:
TextArea.styledtext.RTFData = s

Die Listbox.Cell will davon aber nichts wissen.
Dasselbe gilt, wenn ich die StyleRun-Methode verwende.

Min Code funktioniert problemlos, wenn ich in eine ‘normale’ TextArea s mit add hinzufüge. StyleRun ist dabei sehr viel schneller.

Die Listbox reagiert, als ob es sich um eine ‘normale’ Cell = String handelt.

Das Problem existiert übrigens, weil ColumnHeight der Listbox und LineHeight der TexArea bei der Ausgabe nicht übereinstimmen.
Wenn ich links von der TextArea eine Listbox platziere, dann kann ich die Zeilen nicht mehr mit einer funktionierenden Identifikationsnummer versehen, weil nach einigen Zeilen die Grundlinien auseinanderlaufen.

Es funktioniert nicht. Eine Zelle hat nicht alle Stile einer TextArea.

Wenn Sie jetzt den Text zeichnen (Event TextCellPaint, glaube ich), zeichnen Sie, was immer Sie wollen. Nur ist es komplexer zu erreichen.

Christian ? Hilfe ?

Die Krux ist, dass ich ja den Text auch selektieren (und markieren!) möchte, und das geht auf diese Weise auch nicht gut. Ich verstehe einfach nicht, warum man dann überhaupt eine TextArea ‘anbietet’. Nur wegen der Mehrzeiligkeit? Eigentlich sollten gleiche Namen auch dasselbe enthalten.

Ihr RTF-Text wird in einer TextArea (unabhängig von einer ListBox) oder in einer Zelle der ListBox angezeigt?

Welchen Code verwenden Sie, um das RTF anzuzeigen?

(Ich gehe durch translate.google.com für die Übersetzung.

https://documentation.xojo.com/api/text/styledtext.html#styledtext-rtfdata

Ich benutze eine unsichtbare TextArea, fülle sie mit TeatArea.stylerun.rtfData und verwende die dadurch entstehenden StyleRuns, die ich an den StyledText des Ziels anhänge. Solange es nur um eine Zeile eines Records geht, ist dieses Verfahren sehr schnell und die Textausgabe im Ziel (auch über VPN-Server in Europa, USA dauert etwas länger) nahezu momentan. Dabei geht es um Erzählungen, resp. Kapitel von mind. 30 Seiten im Buch.

Allerdings habe ich seit der Verwendung von REALbasic (1998), dann Real Studio und schließlich Xojo nie mehr stilisierten Text in einer ListBox benötigt.

Ist vielleicht ein sehr spezielles Problem, aber wenn man eine Textdatenbank hat, die nach Textzeilen orientiert ist (hat viele Gründe in einer hist.-kritischen Edition - Varianten, Kommentare etc.), dann muss man - nicht nur nach User-Aktionen - Stellen des Textes in der Datenbank (d.h. Zeilen) finden können. Und da sind eben ListBoxen sehr nützlich, weil man z.B. Schlüssel darin (Breite 0) sehr gut verbergen kann. In meinem Fall sollte man aber den Schlüssel sehen können, da er auch auf die Buchedition verweist (die bereits existeirt).

Ich habe verstanden.

Danke für diese Erklärung und viel Glück für die Zukunft.

Was Sie brauchen, ist ein „StyleGrid“ Control Plugin. Aber ich weiß nicht, ob es für Xojo existiert.