非常感谢,高手上代码啊,我做的右边一个listbox显示的都是左面最后一个字体名的字体!
Private Sub Form_Load()
For i = 0 To Screen.FontCount - 1
If Asc(Left(Screen.Fonts(i), 1)) < 0 Then
List1.AddItem Screen.Fonts(i)
End If
Next i
For j = 0 To List1.ListCount - 1
List2.AddItem "求助啊"
List2.FontName = List1.List(j)
Next j
End Sub
高手帮忙看看啊

解决方案 »

  1.   

    (1)枚举字体需要使用EnumFonts API,编写一个回调函数来接收字体。
    参考:http://msdn.microsoft.com/en-us/library/dd162622(VS.85).aspx
    (2)在List1的Click里面写List2.FontName = List1.Text
      

  2.   

    楼主,你的想法就有问题。ListBox所有的条目只能用同一种字体,不能每一条用一种字体。
      

  3.   


    可点击改变:
    Private Sub List1_Click()
    List2.FontName = List1.List(List1.ListIndex)
    End Sub
      

  4.   

    每个条目要不同的字体,需要自绘。
    VB做起来很麻烦。可以用别的语言包装一个ocx给VB用。
    见过现成的delphi实现的TFontListBox和TFontComboBox
      

  5.   


    Private Sub List1_Click()
    List2.FontName = List1.List(List1.ListIndex)
    End Sub