Font list

rlangi05

Member
Joined
Jan 2, 2006
Messages
21
Programming Experience
1-3
Can anyone help me with putting a list of all available fonts into a combo box. And if possible each font name in the combo box is also in the font style that it represents... like wat you see in the font list in MS Word. Basically I just want to load the font list into a combo box...

Thanks for reading.
 
Use a FontDialog?
Or else, something like this:
VB.NET:
[COLOR=black][FONT=Courier New][COLOR=blue]Private[/COLOR] [COLOR=blue]Sub[/COLOR] setUpFonts()
    [COLOR=blue]For[/COLOR] [COLOR=blue]Each[/COLOR] family [COLOR=blue]As[/COLOR] FontFamily [COLOR=blue]In[/COLOR] FontFamily.Families
        [COLOR=blue]For[/COLOR] [COLOR=blue]Each[/COLOR] style [COLOR=blue]As[/COLOR] FontStyle [COLOR=blue]In[/COLOR] [Enum].GetValues([COLOR=blue]GetType[/COLOR](FontStyle))
            [COLOR=blue]If[/COLOR] family.IsStyleAvailable(style) [COLOR=blue]Then[/COLOR]
                ComboBoxFonts.Items.Add([COLOR=blue]New[/COLOR] System.Drawing.Font(family, ComboBoxFonts.Font.Size, style))
            [COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
        [COLOR=blue]Next[/COLOR]
    [COLOR=blue]Next[/COLOR]
    ComboBoxFonts.DrawMode = DrawMode.OwnerDrawFixed
[COLOR=blue]End[/COLOR] [COLOR=blue]Sub[/COLOR]
 
[COLOR=blue]Private[/COLOR] [COLOR=blue]Sub[/COLOR] ComboBoxFontsDrawItem([COLOR=blue]ByVal[/COLOR] sender [COLOR=blue]As[/COLOR] System.Object, _
[COLOR=blue]ByVal[/COLOR] e [COLOR=blue]As[/COLOR] System.Windows.Forms.DrawItemEventArgs) _
[COLOR=blue]Handles[/COLOR] ComboBoxFonts.DrawItem
    [COLOR=blue]Dim[/COLOR] cb [COLOR=blue]As[/COLOR] ComboBox = [COLOR=blue]DirectCast[/COLOR](sender, ComboBox)
    [COLOR=blue]If[/COLOR] e.Index = -1 [COLOR=blue]OrElse[/COLOR] e.Index >= cb.Items.Count [COLOR=blue]Then[/COLOR] [COLOR=blue]Return[/COLOR]
    e.DrawBackground()
    [COLOR=blue]If[/COLOR] (e.State [COLOR=blue]And[/COLOR] DrawItemState.Focus) <> 0 [COLOR=blue]Then[/COLOR] e.DrawFocusRectangle()
    [COLOR=blue]Dim[/COLOR] brush [COLOR=blue]As[/COLOR] [COLOR=blue]New[/COLOR] SolidBrush(e.ForeColor)
    [COLOR=blue]Dim[/COLOR] font [COLOR=blue]As[/COLOR] System.Drawing.Font = [COLOR=blue]DirectCast[/COLOR](cb.Items(e.Index), System.Drawing.Font)
    [COLOR=blue]Dim[/COLOR] item [COLOR=blue]As[/COLOR] [COLOR=blue]String[/COLOR] = [COLOR=blue]String[/COLOR].Format([COLOR=maroon]"{0} ({1})"[/COLOR], font.Name, font.Style.ToString)
    e.Graphics.DrawString(item, font, brush, e.Bounds)
    brush.Dispose
[COLOR=blue]End[/COLOR] [COLOR=blue]Sub[/COLOR]
[/FONT][/COLOR]
 
Back
Top