Delphi formunda büyük bir yazı tipine sahip bir etikete ihtiyacım vardı ve eğrilerinin hala biraz pürüzlü olduğunu fark ettim. Ben bu aynı boyutta ve MSWord yazı tipi ile daha pürüzsüz oldu. Araştırmadan sonra yazı tipimi düzeltmeme izin veren kod 'u buldum ama dağınık ve 'un daha iyi bir yolu olup olmadığını merak ediyordum? VCL kaynağında baktığımızda, TFont oldukça sinir bozucu NONANTIALIASED_QUALITY ...Delphi'de font düzgünleştirme
Teşekkür Bri kolay yolu böyle TSmoothLabel veya TAntiAliasedLabel olarak TLabel dayalı kendi bileşeni oluşturmaktır
procedure TForm1.SetFontSmoothing(AFont: TFont);
var
tagLOGFONT: TLogFont;
begin
GetObject(
AFont.Handle,
SizeOf(TLogFont),
@tagLOGFONT);
tagLOGFONT.lfQuality := ANTIALIASED_QUALITY;
AFont.Handle := CreateFontIndirect(tagLOGFONT);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
I : integer;
begin
For I :=0 to ComponentCount-1 do
If Components[I] is TLabel then
SetFontSmoothing(TLabel(Components[I]).Font);
end;
Bu kod da çalışıyor (ve sadece temizlemek ve kolay bir yol bulmak istersiniz) ya da hala yeterince pürüzsüz veya çalışmıyor mu? – schnaader
Bu kodun hangi kısmını dağınık olarak değerlendiriyorsunuz? –
VCL zaten bunu yaptığında, her etiket üzerindeki her yazı tipini çakıştırmam gerekmesi israf gibi görünüyor. Üstesinden gelebileceğim bir şey aradım ya da alt sınıftan başka şansım yok. Sanırım istediğimi gerçekleştirmenin tek yolu bu. Bri –