zoukankan      html  css  js  c++  java
  • 再学 GDI+[43]: 文本输出 获取已安装的字体列表

    这比用 Screen.Fonts; 获取麻烦一些.

    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      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
      end
    end
    
  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/del/p/1223412.html
Copyright © 2011-2022 走看看