Tabelle in InsertTextBox

  • Irgendwie stehe ich auf dem Schlauch:

    Ich erstelle Textboxen im Header mit

    Code
    WPRichText1.TextObjects.InsertTextBox(b, h, rtfdata,
              SpecialText.FirstPar)

    Nun habe ich folgendes vor:

    Ich möchte in der Textbox eine Tabelle haben, mit einer Zeile und einer Spalte.

    Dort wäre es ein einfaches, die Textgröße abzufragen und wenn der Text nicht passt entsprechend als Hinweis rote Rahmen der Zelle rechts oder unten anzuzeigen.

    Ein weiterer Grund für die Tabelle ist, dass der Benutzer nicht den gesamten enthaltenen Text markieren und löschen kann, denn damit wird auch automatisch die Textbox selbst entfernt!

    In der Tabellenzelle kann er tun und lassen was er will, da kann er nichts kaputtmachen.

    Ich bekomme es allerdings nicht hin, das Beispiel mit einer InputTextbox für meine Textboxen im Header umzusetzen:

    Ziel sind Textboxen, deren eine Tabellenzelle vom Programm gefüllt werden, die der Benutzer aber danach editieren kann.

    Ciao

    Stefan

    Einmal editiert, zuletzt von skoschke (7. August 2018 um 13:58)

    • Offizieller Beitrag

    Nach

    WPRichText1.TextObjects.InsertTextBox(b, h, rtfdata, SpecialText.FirstPar)

    haben Sie Zugiff auf den text layer in rtfdata.

    Mittels rtfdata.AppendTable und anderen lowlevel methoden kann man dort eine Tabellen struktur erzeugen ohne den cursor zu bewegen. ReformatAll nicht vergessen.

    Welches Problem haben Sie mit dem anderen code? Der funktioniert hier.

    Wenn man die Textbox im header erzeugen will muss man diesen zuerst betreten. z.b. so:

    WPRichText1.HeaderFooter.Get(wpIsHeader, wpraOnAllPages);

  • Das Problem war, dass ich bei der Implementierung des Beispiels in mein Programm mit CPMoveBack irgendwie nicht in die Tabelle zurück gekommen bin, um auf die Tabelle zugreifen zu können.

    Der Tip mit rtfdata.AppendTable war genau der richtige Ansatz!

    Jetzt habe ich die Tabelle im Zugriff und kann damit arbeiten.

    Vielen Dank!

    Ciao

    Stefan