|
|
|
|
Példaprogram letöltése
5883 bájt
|
Készítsünk most egy olyan alkalmazást, melyben felsorolva megjelenik a rendszerbe telepített minden betűtípus. Ez a megjelenés nemcsak egy egyszerű lista, hanem rögtön látható is lesz, hogy az adott betűtípussal miként nézne ki egy-egy felirat.
A feladat megoldásához tudnunk kell, hogy milyen nevű betűtípusok vannak telepítve. Ehhez az InstalledFontCollection osztály áll rendelkezésünkre.
Első lépésként a program indulásakor a Form függőleges scrollbar-ját be kell állítanunk úgy, hogy a teljes lista elférjen a Form-on oly módon, hogy görgethető legyen. Ezt úgy végezzük el, hogy lekérdezzük, hány betűtípus van telepítve, majd ezt szorozzuk 60-al, mivel ennyi pixelt szánunk minden egyes betűtípus megjelenítésére.
Dim ifc As New InstalledFontCollection()
Me.AutoScrollMinSize = New Size(0, (ifc.Families.GetLength(0) + 2) * 60)
A kirajzolást a From Paint eseményénél végezzük el. Itt egy ciklus segítségével végigmegyünk az összes betűtípuson és kirajzolunk minden font-tal egy-egy feliratot. A kirajzolásnál a try - catch blokkra azért van szükségünk, mert lehetnek olyan betűtípusok telepítve, melyek nem tartalmaznak normál méretű font-okat, hanem csak vastag vagy dőlt betűket.
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
...
For Each ff In ifc.Families
If i Mod 2 = 0 Then
g.FillRectangle(b1, 0, i * 60 + Me.AutoScrollPosition.Y, Width, 60)
Else
g.FillRectangle(b2, 0, i * 60 + Me.AutoScrollPosition.Y, Width, 60)
End If
g.DrawString(i.ToString() + ". " + ff.Name, f, b, 10, i * 60 + Me.AutoScrollPosition.Y, StringFormat.GenericDefault)
Try
g.DrawString("Software Online", New Font(ff.Name, 36), b, 200, i * 60 + Me.AutoScrollPosition.Y, StringFormat.GenericDefault)
Catch
End Try
i += 1
Next ff
End Sub 'Form1_Paint
|
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!
|