可以用combobox1.Items:=  Screen.Fonts;
也可以这样:
windows提供这样的api,最主要的是enumfonts(),在sdk中定义如下:
int EnumFonts(
    HDC hdc, // 指明要访问的设备描述表句柄
    LPCTSTR lpFaceName, // 指向字体名字字符串的指针 
    FONTENUMPROC lpFontFunc, // 列举的回掉函数地址
    LPARAM lParam  // 保存结果的地址
   );
先定义一个回调函数:
function enumFontsProc(Var LogFont:TLogFont;var TextMetric:TTextMetric;
         FontType:integer;myData:pointer):integer;stdcall;
begin
 TStrings(myData).add(logFont.lfFaceName);//设定字体名称
 Result:=1;//结果不为空
end;
然后可以调用enumfonts();
try
 hsysdc:=GetDc(0);//得到系统设备描述表句柄
 EnumFonts(hsysdc,nil,@EnumFontsProc,pointer(Combobox1.Items));
//结果放在combobox1中.
finally
 releaseDc(0,hsysdc);
end;