Announcement

Collapse
No announcement yet.

Text mit Formatierung des Richedits an ein zweites Richedit übergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Text mit Formatierung des Richedits an ein zweites Richedit übergeben

    Ich möchte den Text des Richedit Feldes an ein zweites Richedit Feld übergeben. Dabei verliert der Text leider seine Formatierung. Das Attribut 'PlainText' habe ich schon auf false gesetzt.
    Mit Assign habe ich auch keinen Erfolg verzeichnen können.
    Wie kann ich den Text mit Formatierung von einem in ein anderes Richedit Feld übertragen?

  • #2
    Schau im Ordner VCL

    Gruß Hage

    Comment


    • #3
      Hallo,

      dasselbe Problem habe ich jetzt auch, finde aber im Ordner VCL keinen Hinweis.

      Danke + Gruss Ka

      Comment


      • #4
        Jetzt hab ich Hagens Tipps gefunden, die funktionieren aber auch nicht.

        Comment


        • #5
          Hallo Kai,<br>
          <br>
          ich hab' mir jetzt nicht Hagens Tipps rausgesucht, also vielleicht hast Du das hier auch schon erfolglos probiert:<br>
          <br>
          <pre>
          RichEdit1.SelStart := 0;
          RichEdit1.SelLength := Length(RichEdit1.text);
          RichEdit1.CopyToClipboard;
          RichEdit2.PasteFromClipboard;
          </pre>
          <br>
          Bei mir hat's allerdings geklappt.<br>
          <br>
          Ciao<br>
          Chri

          Comment


          • #6
            Bei Christian klappt's weil (siehe Original - Hilfe)

            SelectAll, CutToClipboard (Beispiel)

            Zu diesem Beispiel gehören ein konventionelles Eingabefeld, ein RTF-Eingabefeld sowie eine Schaltfläche. Nach einem Klick auf die Schaltfläche wird der Text aus dem RTF-Feld ausgeschnitten und in das Eingabefeld kopiert. Beachten Sie, daß nur der Text eingefügt wird. Sämtliche RTF-Formatinformationen werden nicht übernommen. Die Formatierung würde nur dann erhalten bleiben, wenn das Ziel des Vorgangs ebenfalls ein RTF-Eingabefeld wäre.
            <PRE>
            procedure TForm1.Button1Click(Sender: TObject);

            begin
            RichEdit1.SelectAll; { Es soll der komplette Text ausgeschnitten werden, nicht nur die aktuelle Auswahl }
            RichEdit1.CutToClipboard;
            Edit1.Clear;
            Edit1.PasteFromClipboard;
            RichEdit1.SetFocus;
            end;
            </PRE>
            Gruß, Bernhar

            Comment


            • #7
              Die Zwischenablage sollte nur benutzt werden wenn der Anwender ausdrücklich wünscht einen Text/Bitmap etc. dahin zu kopieren. Um einen Textausschnitt von einem RTF zu einem anderen zu kopieren sollte man das Clipboard nicht bemühen.<br>

              Das Problem ist einfach, der User arbeitet mit mehren Anwendungen gleichzeitg, kopiert sich eine aufwendige Grafik in das Clipboard, dann kommt aber ein ISDN Anruf dazwischen und deren Host-Anwendung ändert mal eben so das Clipboard um eine RTF zu kopieren.<br>

              Normalerweise sollte es aber über die Messages EM_STREAMIN, EM_STREAMOUT gehen, Borland hat aber leider in seinem RE-Controls nicht geschnallt das man diesen beiden Messages mitgeben kann ob nur die Selection oder Alles oder ob in Plain oder RTF geladen/gespeichert werden sollte.

              Hage

              Comment


              • #8
                Hallo Hagen,<br>
                <br>
                also könnte man sich auf zwei Arten behelfen, wenn ich dass richtig sehe (glücklich war ich mir der Clipboard Lösung zwar auch nicht, aber, na ja):<br>
                1. Vor der Benützung des Clipboards dessen Inhalt sichern, danach wiederherstellen (ich sag' nicht, dass das so sinnvoll wäre )<br>
                2. Die Messages nachrüsten. Sollte ja auch gehen.
                <br>
                Ciao<br>
                Chri

                Comment

                Working...
                X