本例效果图:
代码文件:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}uses GDIPOBJ, GDIPAPI;procedure TForm1.FormCreate(Sender: TObject);var fontFamilyArr: array of TGPFontFamily; fonts: TGPFontCollection; fontCount: Integer; str: string; i: Integer;begin fonts := TGPInstalledFontCollection.Create; fontCount := fonts.GetFamilyCount; SetLength(fontFamilyArr, fontCount); for i := 0 to fontCount - 1 do fontFamilyArr[i] := TGPFontFamily.Create; fonts.GetFamilies(fontCount, fontFamilyArr, fontCount); Memo1.Clear; for i := 0 to fontCount - 1 do begin fontFamilyArr[i].GetFamilyName(str); Memo1.Lines.Add(str); end; for i := 0 to fontCount - 1 do fontFamilyArr[i].Free; fonts.Free;end;end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 196 ClientWidth = 176 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Memo1: TMemo Left = 0 Top = 0 Width = 176 Height = 196 Align = alClient Lines.Strings = ( 'Memo1') ScrollBars = ssBoth TabOrder = 0 ExplicitWidth = 339 ExplicitHeight = 206 endend