用通用对话框无法打开字体对话框,但是其它软件能打开字体对话框。我在VB中增加一个通用对话框,然后写代码 
CommonDialog1.ShowFont
结果显示:
没有安装字体。
请从控制面板打开“字体”文件夹以便安装字体。我打开看了,已经有字体这个项目了。这是怎么回事?我前不久刚刚重装了系统,重装以前也这样。

解决方案 »

  1.   

    CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects
    CommonDialog1.ShowFont
      

  2.   

    Flags 属性(“字体”对话框)
          返回或设置“字体”对话框的选项。语法object.Flags [= value]Flags 属性语法有下列部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    value 如“设置值”中所描述,它为“字体”对话框指定选项的常数或值。 
    设置值value 的设置是:常数 值 描述 
    cdlCFANSIOnly &H400 它指定对话框只允许选择 Windows 字符集的字体。如果该标志被设置,就不能选择仅含符号的字体。 
    cdlCFApply &H200 它使对话框中的“应用”按钮有效。 
    cdlCFBoth &H3 使对话框列出可用的打印机和屏幕字体。hDC 属性标识与打印机相关的设备描述体。 
    cdlCFEffects &H100 它指定对话框允许删除线,下划线,以及颜色效果。  
    cdlCFFixedPitchOnly &H4000 它指定对话框只能选择固定间距的字体。 
    cdlCFForceFontExist &H10000 它指定如果用户试图选择一个并不存在的字体或样式,显示错误信息框。 
    cdlCFHelpButton &H4 使对话框显示帮助按钮。  
    cdlCF例mitSize &H2000 它指定对话框只能在由 Min 和 Max 属性规定的范围内选择字体大小。 
    cdlCFNoFaceSel &H80000 没有选择字体名称。 
    cdlCFNoSimulations &H1000 它指定对话框不允许图形设备接口 (GDI) 字体模拟。 
    cdlCFNoSizeSel &H200000 没有选择字体大小。 
    cdlCFNoStyleSel &H100000 没有选择样式。 
    cdlCFNoVectorFonts &H800 它指定对话框不允许矢量字体选择。 
    cdlCFPrinterFonts &H2 使对话框只列出由 hDC 属性指定的打印机支持的字体。 
    cdlCFScalableOnly &H20000 它指定对话框只允许选择可缩放的字体。 
    cdlCFScreenFonts &H1 使对话框只列出系统支持的屏幕字体。 
    cdlCFTTOnly &H40000 它指定对话框只允许选择 TrueType 型字体。 
    cdlCFWYSIWYG &H8000 它指定对话框只允许选择在打印机和屏幕上均可用的字体。如果该标志被设置,则 cdlCFBoth 和 cdlCFScalableOnly 标志也应该设置。 
    说明这些常数在对象浏览器中的 Microsoft CommonDialog 控件 (MSComDlg) 对象库中列出。也可以定义所选择的标志。可使用启动窗体声明部分的 Const 关键字来定义想使用的标志。例如:Const ReadOnly  = &H00000001&
    Const Effects    = &H00000100&使用 Or 运算符可以为一个对话框设置多个标志。例如:CommonDialog1.Flags = &H10& Or &H200&将所希望的常数值相加能产生同样的结果。下例与上例等效:CommonDialog1.Flags = &H210&**************************************************************************
    注意 在显示“字体”对话框前,必须先将 Flags 属性设置为 cdlCFScreenFonts,cdlCFPrinterFonts,或 cdlCFBoth。否则,会发生字体不存在的错误。           *
    **************************************************************************
    数据类型Long