Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Шрифты [D7, WinXP]


Yustas ©   (2004-05-10 06:52:00) 

Пожалуйста, напишите подробно, как занести список всех установленных шрифтов в TKOLCOmboBox?

enumfontresources - нет такой функции!


Gandalf   (2004-05-12 13:28:00) [1]


function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric;
 FontType: Integer; Data: Pointer): Integer; stdcall;
var
 S: PStrList;
 Temp: string;
begin
 S := PStrList(Data);
 Temp := LogFont.lfFaceName;
 if (S.Count = 0) or (AnsiCompareText(S.Items[S.Count-1], Temp) <> 0) then
   S.Add(Temp);
 Result := 1;
end;

var
 DC: HDC;
 LFont: TLogFont;
 FFonts :PStrList;
 i:Integer;
begin
   FFonts := NewStrList;
   DC := GetDC(0);
   try
     FFonts.Add('Default');
     FillChar(LFont, sizeof(LFont), 0);
     LFont.lfCharset := DEFAULT_CHARSET;
     EnumFontFamiliesEx(DC, LFont, @EnumFontsProc, LongInt(FFonts), 0);
     PStrList(FFonts).Sort(false);
   finally
     ReleaseDC(0, DC);
   end;

for i:=0 to FFonts.Count-1 do
 ComboBox1.Add(FFonts.Items[i]);
end;


SPeller   (2004-05-11 11:12:00) [2]

Если найти список шрифтов средствами WinApi вы поняли как, то неужели непонятно как это добавить строковые итемы в ComboBox, хоть он и KOLComboBox?


Dimaxx   (2004-05-11 00:49:00) [3]

Но зато есть EnumFontFamilies


VMcL   (2004-05-10 21:15:00) [4]

>>X9 ©  (10.05.04 19:43) [3]

А посмотреть, как написали разработчики Borland, и переписать под себя религия не позволит?


X9   (2004-05-10 19:43:00) [5]

2Игорь Шевченко
Forms.pas и KOL - IMHO вещи немного разные.


Игорь Шевченко   (2004-05-10 17:47:00) [6]

Yustas   (10.05.04 06:52)

RTFS: Forms.pas TScreen.Fonts


X9   (2004-05-10 17:03:00) [7]

Посмотри http://delphimaster.ru/cgi-bin/forum.pl?id=1084117252&n=5и немного переделай.


Наверх

Титульная страница Поиск, карта сайта Написать письмо