AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi TRichEdit - CFM_Link : nach SaveToFile ist alles futsch
Thema durchsuchen
Ansicht
Themen-Optionen

TRichEdit - CFM_Link : nach SaveToFile ist alles futsch

Ein Thema von taaktaak · begonnen am 30. Okt 2007 · letzter Beitrag vom 2. Nov 2007
 
taaktaak

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

TRichEdit - CFM_Link : nach SaveToFile ist alles futsch

  Alt 30. Okt 2007, 21:39
Moin, Moin Zusammen!

Ich beschäftige mich seit einigen Tagen mit dem RichEditControl. Nachdem ich mich nun im MSN Informationsdickicht etwas besser zurechtfinde habe ich gute Informationen über CharFormat2 und ParaFormat2 gefunden. Damit lassen sich ja grundlegende Formatierungen durchführen, die Delphi so nicht zur Verfügung stellt. Leider hat die Link-Formatierung mir nun einige graue Haare mehr wachsen lassen:

Delphi-Quellcode:
procedure reSetLink(re:TRichEdit;Start,Length:Integer;SwitchOn:Boolean);
var CF2 : TCharFormat2;
    OldRange,
    NewRange : TCharRange;
begin
  FillChar(CF2,SizeOf(CF2),0);
  CF2.cbSize:=SizeOf(CF2);
  CF2.dwMask:=CFM_Link;
  if SwitchOn then CF2.dwEffects:=CFE_Link;

  NewRange.cpMin:=Start;
  NewRange.cpMax:=Start+Length;

  SendMessage(re.Handle,EM_ExGetSel,0,LParam(@OldRange));
  SendMessage(re.Handle,EM_ExSetSel,0,LParam(@NewRange));
  SendMessage(re.Handle,EM_SetCharFormat,SCF_Selection,LParam(@CF2));
  SendMessage(re.Handle,EM_ExSetSel,0,LParam(@OldRange));
end;
Obige Prozedur funktioniert prima - solange man den Text nicht in eine Datei speichert und anschließend wieder in den Speicher lädt: Dann ist der Link verschwunden! Habe einen kurzen Text mit 'nem Hex-Editor untersucht. Nun ist auch klar warum: Während für andere Formatierungen entsprechende Befehle (gibt's da einen Fachausdruck?) in der RTF-Datei stehen, unterbleibt dies beim "Link-Format".

Bevor ich nun eine Glatze bekomme , meine Frage: Ist dies so von Microsoft gewollt oder ist Delphi mit dem SaveToFile-Befehl daran schuld? Wenn das alles so sein soll - hat einer 'ne Idee, wie ich das Link-Format für den Anwender "unsichtbar" in eine Datei speichern kann. "Normale" Formatierungen wie FontColor, Unterstreichen o.ä. müssen ja für den Anwender verfügbar bleiben und dürfen nicht für die exklusive Link-Nutzung missbraucht werden.

Gruß Ralph
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 07:46 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