Einzelnen Beitrag anzeigen

user64629
(Gast)

n/a Beiträge
 
#1

Charformat nach CFM_SUPERSCRIPT wieder normal setzten?

  Alt 8. Mai 2011, 00:38
Hallo Forum,
ich verwender in meinem Programm die Funktion CFM_SUPERSCRIPT um Text hochzustellen. Doch wie krieg ich danach den Text wieder normal?
Unter http://msdn.microsoft.com/de-de/libr...(v=VS.85).aspx finde ich nur: "To turn off a formatting attribute, set the appropriate value in dwMask but do not set the corresponding value in dwEffects. For example, to turn off italics, set CFM_ITALIC but do not set CFE_ITALIC."
Doch das scheint nicht zu klappen...
Hier mal mein Code:

Delphi-Quellcode:
var Formatierung: TCharFormat2;

procedure TEditor.HochgestelltExecute(Sender: TObject);
begin
 Formatierung.cbSize := SizeOf(Formatierung);
 Formatierung.dwMask := SendMessage(Text.Handle, EM_GETCHARFORMAT, SCF_SELECTION, 0);
 Formatierung.dwMask := CFM_SuperScript;
 if Formatierung.dwMask = CFM_SuperScript
    then Formatierung.dwEffects := CFE_SuperScript;
 SendMessage(Text.Handle, EM_SETCHARFORMAT, SCF_SELECTION, DWORD(@Formatierung));
end;
Wenn ich die Microsoft Hilfe richtig verstanden habe (Englisch ist nicht gerade mein bestes Fach...) frage ich von dem Markierten Text die Eigenschaften .dwMask ab und wenn CFM_SuperScript vorhanden ist, müsste das doch danach gelöscht werden und wenn es nicht vorhanden ist wird es gesetzt oder??? Hab erst vor ein paar Stunde die SendMessage Eigenschaften kennengelernt

Danke für die Hilfe schonmal

Edit:
Da keiner eine Antwort weiß hab ich auf http://forum.delphi-treff.de/showthr...795#post219795 die gleiche Frage nochmal gepostet.
  Mit Zitat antworten Zitat