Einzelnen Beitrag anzeigen

FarAndBeyond
(Gast)

n/a Beiträge
 
#7

AW: Antialiasing, Kantenglättung für Memo, Edit und Label

  Alt 24. Jul 2015, 15:35
@uligerhardt
Hey, danke Mann...
Das funzt ja prächtig!!!
Dachte zuerst da fehlt doch was bei 'Type', sieht so nach gar nichts aus...
Irre praktisch...

Delphi-Quellcode:
//Type
// TControlAccess = Class(TControl);

Procedure AAFont(Obj: TControl);
   Var
    Font : TFont;
    LogFont : TLogFont;
 Begin
  Try
   Font := TFont.Create;
   Font.Assign(TControlAccess(Obj).Font);
   GetObject(Font.Handle, SizeOf(LogFont), @LogFont);
   LogFont.lfQuality := ANTIALIASED_QUALITY;
   Font.Handle := CreateFontIndirect(LogFont);
   TControlAccess(Obj).Font := Font;
   Font.Free;
  Except
   Exit;
  End;
 End;


Procedure TForm1.Button1Click(Sender: TObject);
 Begin
  AAFont(Label1);
  AAFont(Memo1);
 End;
Das wäre dann die Lösung für den ursprünglichen Quelltext...
ODER noch besser SO...

Delphi-Quellcode:
//Type
// TControlAccess = Class(TControl);

Procedure AAFont(Obj: TControl);
   Var
    LogFont: TLogFont;
 Begin
  Try
   GetObject(TControlAccess(Obj).Font.Handle, SizeOf(TLogFont), @LogFont);
   LogFont.lfQuality := ANTIALIASED_QUALITY;
   TControlAccess(Obj).Font.Handle := CreateFontIndirect(LogFont);
  Except
   Exit;
  End;
 End;


Procedure TForm1.Button1Click(Sender: TObject);
 Begin
  AAFont(Label1);
  AAFont(Memo1);
 End;
Klasse Sache... mit D7 geht's...

Gruß
Martin
  Mit Zitat antworten Zitat