AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Absatzmarken in TMemo

Ein Thema von bcvs · begonnen am 17. Jan 2014 · letzter Beitrag vom 12. Dez 2019
Antwort Antwort
bcvs

Registriert seit: 16. Jun 2011
736 Beiträge
 
Delphi 12 Athens
 
#1

AW: Absatzmarken in TMemo

  Alt 12. Dez 2019, 09:10
Hallo, ich hole dieses Thema noch mal hervor, weil jetzt eine andere Lösung habe. Vielleicht interessiert es ja jemanden.

Meine oben genannte Lösung mit den geschützten Absatzmarken-Zeichen im Richedit lief unter Delphi 10.2 nicht mehr korrekt. Hier wurden teilweise die falschen Zeichen geschützt und beim Tippen kam alles durcheinander. Habe erst lange nach der Ursache gesucht und verfolge jetzt einen ganz anderen Ansatz:

Die Absatzmarken werden nicht in den RichEdit.Text eingebaut, sondern einfach auf einen Canvas drübergemalt. Dann reicht auch ein einfaches TMemo.

Delphi-Quellcode:
procedure TMyForm.PaintParagraphMarks;
var i:integer;
    th:integer;
    tw:integer;
    yText:integer;
    Canvas: TControlCanvas;

const cParagraphMark = #0182;

begin
  if not fShowParagraphs then
    exit;

  Canvas := TControlCanvas.Create;
  try
    Canvas.Control := Memo;
    Canvas.Font.Assign(Memo.Font);

    th:=Canvas.TextHeight('X');
    yText:=0;
    for i := 0 to Memo.Lines.Count do begin
      tw:=Canvas.TextWidth(Memo.Lines[i]);
      Canvas.TextOut(tw+5, yText, cParagraphMark);
      yText:=yText+th;
    end;
  finally
    Canvas.Free;
  end;
end;
Das wird dann im OnKeyup des Memo aufgerufen.

Vorteil: Der Memo.Text bleibt unverändert. Man muss die Absatzmarken da nicht mehr umständlich entfernen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz