HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Betűtípusok tulajdonságainak megjelenítése


Példaprogram letöltése

7883 bájt

Ha szüksége van arra az információra, hogy aktuálisan milyen betűtípusok vannak a rendszerbe telepítve, ezek milyen paraméterekkel rendelkeznek, valamint kíváncsi arra, hogy az adott Font-tal hogy is néz ki egy megjelenített szöveg, akkor ezeknek megoldását a mellékelt példából megismerheti.

A Form1 konstruktorában írjuk ki a telepített Font-ok tulajdonságait egy ListView komponensbe.
  public Form1()
  {
      InitializeComponent();
A betűtípusok és adataik lekérdezésében az InstalledFontCollection osztály segít bennünket.
      InstalledFontCollection ifc = new InstalledFontCollection();
      string[] s = new string[6];
Ennek Families property-jében kapunk egy olyan tömböt, melynek minden eleme egy FontFamily osztály, ami egy-egy Font tulajdonságát tartalmazza. Így nincs más tennivalónk, mint egy ciklus segítségével végigmenni ezen a tömbön.
      foreach (FontFamily ff in ifc.Families)
      {
Csak azokkal a betűtípusokkal foglalkozunk, melyeknek van alap stílusú karaktere. Ezt az IsStyleAvailable függvény segítségével dönthetjük el, mely igaz értékkel tér vissza, ha az adott Font a függvény paraméterében megadott stílust tartalmazza.
        if (ff.IsStyleAvailable(FontStyle.Regular))
        {
Ezt követően a FontFamily osztály tulajdonságait, melyek kötődnek az adott betűtípushoz elhelyezzük egy sztring tömbben.
          s[0] = ff.Name;
          s[1] = ff.GetCellAscent(FontStyle.Regular).ToString();
          s[2] = ff.GetCellDescent(FontStyle.Regular).ToString();
          s[3] = ff.GetEmHeight(FontStyle.Regular).ToString();
          s[4] = ff.GetHashCode().ToString();
          s[5] = ff.GetLineSpacing(FontStyle.Regular).ToString();
Ezt adjuk hozzá a ListView-hez az Items Add függvény hívással úgy, hogy létrehozunk egy új ListViewItems osztályt, mely leírja az adott elem tulajdonságait.
          listView1.Items.Add(new ListViewItem(s));
        }
      }
    }
Egy-egy betűtípussal történő felirat megjelenítést a Form Paint eseményénél végzünk el.
    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
      if (listView1.FocusedItem != null)
      {
Itt létrehozunk egy új Font-ot 26-os betűmérettel, méghozzá abból a típusból, mely a ListView-ben aktuálisan kijelölt.
        string s = (string)listView1.FocusedItem.SubItems[0].Text;
        Font f = new Font(s, 26);
Majd ezt követően a Graphics osztályt DrawString függvényével kirajzolunk egy szöveget a Form területére a kiválasztott betűtípussal.
        e.Graphics.DrawString("Software Online", f, new SolidBrush(Color.Blue), 10, 10);
      }
    }



Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 291. 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 |