HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Betűkészlet használata, amíg a program fut


Példaprogram letöltése

43727 bájt

Ha alkalmazásunknak olyan fontokat kellene használni, melyek az adott rendszerben nem állnak rendelkezésre, akkor két lehetőségünk van: vagy programunk telepítésekor telepítjük a szükséges betűkészleteket is, vagy a másik lehetőség, hogy csak ideiglenesen használjuk a betűtípusokat, melyek ez esetben csak addig lesznek elérhetők a rendszerben, amíg az alkalmazásunk fut.

A megoldást két Windows függvény szolgáltatja. Az AddFontResource segítségével egy új fontot telepíthetünk. Paraméterként a betűkészlet állományának nevét, szükség esetén elérési útját is meg kell adnunk. A betűtípus ekkor nem kerül be a Windows Font mappájába, de épp úgy használható lesz.
Második lépésként szükség van még egy olyan üzenet küldésére, melyet minden éppen futó Windows alkalmazás megkap. Ez a WM_FONTCHANGE üzenet lesz. Ebből értesülnek az alkalmazások, hogy új betűkészlet érhető el a rendszerben.
procedure TForm1.FormCreate(Sender: TObject);
begin
  AddFontResource('SLOGANN.TTF');
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;
Alkalmazásunk futásának végén pedig meg kell szüntetnünk a hivatkozást az adott betűkészlet állományára, melyet a RemoveFontResource függvény hívásával tehetünk meg. Ennek paramétere egyezik az AddFontResource függvényével.
A RemoveFontResource hívása után ismét egy WM_FONTCHANGE üzenetben kell értesítenünk a többi alkalmazást.
procedure TForm1.FormDestroy(Sender: TObject);
begin
  RemoveFontResource('SLOGANN.TTF');
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 221. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |