Einzelnen Beitrag anzeigen

user64629
(Gast)

n/a Beiträge
 
#2

AW: Charformat nach CFM_SUPERSCRIPT wieder normal setzten?

  Alt 8. Mai 2011, 12:08
Okay ich hab mal ein wenig rumgespielt, dabei kam dann das raus:

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);
 if Formatierung.dwMask = CFM_SuperScript
    then Formatierung.dwMask := CFM_SuperScript
    else begin
          Formatierung.dwMask := CFM_SuperScript;
          Formatierung.dwEffects := CFE_SuperScript;
         end;
SendMessage(Text.Handle, EM_SETCHARFORMAT, SCF_SELECTION, DWORD(@Formatierung));
end;
Doch bei der Abfrage

 if Formatierung.dwMask = CFM_SuperScript Wird immer nur die Else-Anweisung behandelt. Das müsste doch bedeuten, dass in der Anweisung davor

 Formatierung.dwMask := SendMessage(Text.Handle, EM_GETCHARFORMAT, SCF_SELECTION, 0); der enstprechende Wert der selektierten Textes garnicht als Rückgabewert geliefert wird oder?
  Mit Zitat antworten Zitat