Access

Alternativna učenja

Android

Animacija

Antropologija

Apple - MAC OS X

Arheologija

Arhitektura

Astrologija

Astronomija

Audio kursevi + knjige

Audio, Multimedia, Video

Autobiografija

AutoCad, ArchiCAD, SolidWorks, Catia, Pro/Engineer

Automobili

Bajke

Baze podataka

Biografija

Biološke nauke

Botanika

C++ Visual C++ C#

Cloud

CSS

Dečije knjige

Delphi

Digitalna fotografija

Dizajn

Django

Domaće pripovetke

Domaći roman

Drama

E-knjiga

E-komerc

ECDL

Ekologija

Ekonomija

Elektrotehnika

Enciklopedija

Esejistika

Etika

Fantastika

Film

Filologija

Filozofija

Fizika

Fotografija

Geografija

Geologija

GOOGLE

Grafika, Dizajn, Štampa

Građevinarstvo

Hardver

Hemija

Hidrotehnika

Hobi

Horor

Humor

Internet

Intervju

Istorija

Istorija i teorija književnosti

Istorija umetnosti

Istorijski roman

Java, JavaScript, JScript, Perl

Joomla

jQuery

Knjiga posle posla - Beletristika i ostala izdanja

Knjižare i naše knjige

Književna kritika

Kuvari, hrana i piće

Leksikografija

Lingvistika

Ljubavni roman

logo

Magija

Marketing

Mašinsko učenje

Mašinstvo

Matematika

Medicina

Memoari

Menadžment

Modeliranje podataka

Monografija

Mreže

MS Office

Muzika

Nagrađivanje knjige

Naučna fantastika

Obrada teksta

OFFICE 2013

OpenOffice.org

Operativni sistemi

Oracle

Organizacione nauke

Pedagogija

PHP I MYSQL

Pisci u medijima

Ples

Poezija

Politika

Poljoprivreda

Popularna medicina

Popularna nauka

Popularna psihologija

Posao

Pozorište

Pravo

Pravoslavlje

Primenjene nauke

Pripovetke

Prirodne nauke

Priručnik

Programiranje

Psihologija

Publicistika

Putopis

Python programiranje

Raspberry PI

Rečnici

Religija

Robotika

Roman

Satira

Saveti

Sertifikati

Slikarstvo

Socijalna mreža - Facebook

Sociologija

Sport

Sport i hobi

SQL Server

Statistika

Strip

Tabele

Tableti

Tehnologija

Telekomunikacije

Triler

Turizam

Twitter

Udžbenici

Umetnost

Unix, Linux

Urbanizam

UX DIZAJN

Visual Basic .NET, VBA, V. Studio

Web design

Windows

Windows 7

Windows 8

WordPress

Zaštita i sigurnost

 

KAKO DA – fukcija za izlistavanje instaliranih fontova, Delphi

 

 

  • Twitter
  • Facebook
  • Google plus
  • Linkedin
  • Pinterest
  • Email

 

Pregleda (30 dana / ukupno): 14 / 1574

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ć

 

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar