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.