Announcement

Collapse
No announcement yet.

enthält richedit formatierten text?

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

  • enthält richedit formatierten text?

    hi,

    ich möchte nach dem einfügen aus der zwischenablage überprüfen ob mein richedit formatierten text enthält! sprich, ob wörter fettgeschrieben sind oder irgendwo eine andere schriftfarbe wie die eingestellt drin ist!
    wie kann man sowas überprüfen?

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,

    mit der Abfrage von <b>GetClipboardFormatName</b> kannst Du abfragen, in welchen Formaten Du den Inhalt abrufen darfst:
    <pre>
    uses Clipbrd;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i, iFormat : Integer;
    szBuffer : array[0..127] of Char;
    begin
    with Clipboard do
    for i := 0 to Pred(FormatCount) do
    begin
    iFormat := Formats[i];
    if GetClipboardFormatName(iFormat, @szBuffer, 127 ) <> 0 then
    ListBox1.Items.Add(Format('%d: <%s>', [iFormat, szBuffer]))
    else
    ListBox1.Items.Add('Standardformat');
    end;
    end;
    </pre>
    Wenn RTF-Daten zur Verfügung stehen, liefert GetClipboardFormatName u.a. den Wert <b>Rich Text Format</b> zurück. Der Empfänger legt fest, wie die Daten eingefügt werden sollen, indem er ein bestimmtes Format (das in dieser Auflistung angkündigt wird) über <b>GetAsHandle</b> anfordert. Ein Beispiel dafür ist in der Delphi-Hilfe zur TClipboard-Methode GetAsHandle

    Comment


    • #3
      hallo andreas,

      das ist sehr interessant!<br>
      ich müßte doch dann auch in der lage sein, gleich zu sagen, ich will das einfügen immer nur als reinen text haben, oder?

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        Hallo Markus,

        ja - genau das beschreibt das Beispiel aus der Delphi-Hilfe. Die entscheidende Programmzeile sieht dabei so aus:
        <pre>
        ...
        MyHandle := Clipboard.GetAsHandle(CF_TEXT);
        ...
        </pre>
        Über <b>CF_TEXT</b> wird der reine ASCII-Inhalt (ohne RTF-Steuerzeichen für die Formatierung) angefordert

        Comment


        • #5
          vielen dank!

          gruß

          marku
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment

          Working...
          X