AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi RTF Linespacing speichern und wiederherstellen
Thema durchsuchen
Ansicht
Themen-Optionen

RTF Linespacing speichern und wiederherstellen

Ein Thema von GreenHorn3600 · begonnen am 23. Okt 2008 · letzter Beitrag vom 26. Okt 2008
 
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#14

Re: RTF Linespacing speichern und wiederherstellen

  Alt 26. Okt 2008, 12:31
Moin, Moin.

Habe mir das jetzt mal im Detail angesehen und muss gestehen, dass ich es auch mit dem "normalen" RichEdit nicht hinbekomme. Egal ob direktes Speichern oder indirekt über den Umweg mit einem MemoryStream. Nach dem Laden ist die Formatierung verschwunden. Ob die Formatierung überhaupt gespeichert wird, habe ich nicht untersucht.

Wenn ich nun in #3 geschrieben habe, dass es bei mir ohne Probleme funktioniert, dann stützt sich diese Bemerkung darauf, dass in einem meiner Programme die Zeilenabstände verändert werden können und diese Formatierung auch nach dem Wiedereinlesen wieder angezeigt wird. Wieso?

Nach kurzer Suche hier die Lösung: Ich verwende LineSpacingRule=4 und stelle das LineSpacing in Twips ein, nutze also nicht die Auswahl 1 / 1,5 / 2-zeilig. Ist zwar ein wenig umständlicher, erfüllt aber seinen Zweck.

Delphi-Quellcode:
procedure reSetLineSpacing(re:TRichEdit;LineSpacing:LongInt);
var PF2 : TParaFormat2;
begin
  FillChar(PF2,SizeOf(PF2),0);

  with PF2 do begin
    cbSize :=SizeOf(PF2);
    dwMask :=PFM_LineSpacing;
    bLineSpacingRule:=4;
    dyLineSpacing :=LineSpacing; // in twips > 567 twips = 1 cm
    end;

  SendMessage(re.Handle,EM_SetParaFormat,0,LParam(@PF2));
end;
Das erklärt nun zwar nicht, wieso es mit LineSpacingRule 1..3 nicht funktioniert, gibt aber eine funktionierende Alternative mit der man arbeiten kann.
Ralph
  Mit Zitat antworten Zitat
 


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 09:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz