Veze, linkovi
Kompjuter biblioteka
Korpa

KAKO DA – fukcija za izlistavanje instaliranih fontova, Delphi

U većem broju korisničkih aplikacija, posebno raznih editora, trebaće vam funkcija kojom izlistavate sve fontove instalirane na datom sistemu.

U većem broju korisničkih aplikacija, posebno raznih editora, trebaće vam funkcija kojom izlistavate sve fontove instalirane na datom sistemu. Pa čak i ako se ne radi o editorima, ovom funkcijom možete korisnicima obezbediti izbor podešavanja izgleda interfejsa vaših apliakcija (font kojim su ispisane kontrole). Radi primera, kreiraćemo mali programčić koji će samo izlistati fontove.

Pokrenite Delphi i otvorite novi projekat. Na praznu formu postavite jedno dugme, jednu kontrolu Labeli jednu kontrolu Listbox. Dodajte funkciju za izlistavanje fontova:

function EnumFontsProc (var LogFont:TLogFont; var TextMetric:TTextMetric; FontType:Integer; Data:Pointer):Integer;stdcall;
var
Lista:TStrings;
begin
Lista:=TStrings(Data);
// preuzimanje string niza
Lista.Add(LogFont.lfFaceName);
// dodavanje naziva fonta u listu
Rezult:=1;
end;

Potom dodajte i poziv tzv. callback funkcije:

procedure TMainForm.FormCreate(Sender: TObject);
var
DC: HDC;
begin
DC:= GetDC(0);
try
EnumFonts(DC, nil,@EnumFontsProc, Pointer(ListBox1.Items);
// prosleđivanje callback funkciji
finally
ReleaseDC (0, DC);
// oslobađanje resursa
end;
end;

Callback funkcije predstavljaju potprograme koje Windows poziva iz vaše aplikacije. U našem slučaju, objekat ListBox koristimo za spisak naziva instaliranih fontova. Za formiranje spiska, kreirali smo proceduru za obradu događaja OnCreate. U ovom prvom primeru nismo koristili dugmić.

Postoji još jedan, mnogo jednostavniji, način za izlistavanje fontova. Potrebno je da samo objektu tipa TStringList dodelimo Screen.Fonts. Postavljenom dugmetu, potrebno je da samo dodelite sledeću liniju (događaj OnClick):

ListBox1 : = Screen.Fonts;

Pripremio: Milenko Kusurović

 

         
Twitter Facebook Linkedin Pinterest Email
         

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar

 

 

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272