VB 程序设计

10个成员

Visual Basic CommonDialog 控件的使用

发表于 2016-12-21 3608 次查看

使用 CommonDialog 控件

    CommonDialog 控件提供诸如打开和保存文件、设置打印选项、选择颜色和字体等操作的一组标准对话框。运行 Windows 帮助引擎时,控件还能够显示帮助。

    CommonDialog 控件在 Visual Basic 和 Microsoft Windows 动态连接库Commdlg.dll 例程之间提供了接口。为了用该控件创建对话框,必须要求Commdlg.dll 在 Microsoft Windows \System 目录下。
    为了在应用程序中使用 CommonDialog 控件,应将其添加到窗体上并设置属性。控件显示的对话由控件的方法决定。运行时,调用相应方法后将显示对话框或执行帮助引擎;设计时在窗体上将 CommonDialog 控件显示成一个图标。此图标的大小不能改变。
    CommonDialog 控件可以显示如下常用对话框:
    “打开”
    “另存为”
    “颜色”
    “字体”
    “打印”
    要使用 CommonDialog 控件
    1. 若未添加 CommonDialog 控件,则应从“工程”菜单中选定“部件”,将控件添加到工具箱中。在标记对话的“控件”中找到并选定控件,然后单击“确定”按钮。
    2. 单击工具箱中的“CommonDialog”控件并在窗体上绘制该控件。在窗体上绘制 CommonDialog 控件时,控件将自动调整大小。象 Timer控件一样,CommonDialog 控件在运行时不可见。
    3. 运行时,请适当使用下表所列方法显示需要的对话。

    显示“打开”和“另存为”对话框
    有了“打开”对话框就可指定驱动器、目录、文件扩展名和文件名。“另存为”对话框在外观上与“打开”对话框相同,只是对话框的标题和文件名是暗淡的。运行时选定文件并关闭对话框后,可用 FileName 属性获取选定的文件名。
    要显示“打开”对话框
    1. 指定在“文件类型”列表框中显示的文件过滤器列表。
    可用下列格式设置 Filter 属性:
    description1 | filter1 | description2 | filter2...
    Description 是列表框中显示的字符串——例如,"Text Files (*.txt)"。Filter 是实际的文件过滤器─—例如,"*.txt"。每个description | filter 设置间必须用管道符号分隔 (|)。
    2. 用 ShowOpen 方法显示对话框。

    选定文件后可用 FileName 属性获取选定文件的名称。
    对所有公共对话框,当 CancelError 属性为 True,而且用户单击了对话框的“取消”按钮时将生成一个错误。在显示对话框时捕获错误,以此检测是否按了“取消”按钮。
    下列代码显示“打开”对话框并以选定的文件名为打开文件过程的参数:
    Private Sub mnuFileOpen_Click ()
      'CancelError 为 True。
      On Error GoTo ErrHandler
      '设置过滤器。
      CommonDialog1.Filter = "All Files (*.*)|*.*|Text _
      Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat"
      '指定缺省过滤器。
      CommonDialog1.FilterIndex = 2
      '显示“打开”对话框。
      CommonDialog1.ShowOpen
      '调用打开文件的过程。
      OpenFile (CommonDialog1.FileName)
      Exit Sub

    ErrHandler:
      '用户按“取消”按钮。
      Exit Sub
    End Sub

    使用“颜色”对话框
    可用“颜色”对话框在调色板中选择颜色,或者创建并选定自定义颜色。运行时,选定颜色并关闭对话框后可用 Color 属性获取选定的颜色。

    要显示“颜色”对话框
    1. 将CommonDialog控件的Flags属性设置成Visual Basic常数cdlCCRGBInit。
    2. 用 ShowColor 方法显示对话框。
    可用 Color 属性获取选定颜色的 RGB 值。单击“Command1”命令按钮时,下列代码将显示“颜色”对话框:
     Private Sub Command1_Click ()
        '将 Cancel 设置成 True。
        CommonDialog1.CancelError = True
        On Error GoTo ErrHandler
        '设置 Flags 属性。
        CommonDialog1.Flags = cdlCCRGBInit
        '显示“颜色”对话框。
        CommonDialog1.ShowColor
        '将窗体的背景颜色设置成选定的'颜色。
        Form1.BackColor = CommonDialog1.Color
        Exit Sub

     ErrHandler:
        '用户按了“取消”按钮。
        Exit Sub
     End Sub

    使用“字体”对话框
    “字体”对话框根据大小、颜色、样式选择字体。用户一旦在“字体”对话框中选定字体后,下列属性就会包含有关用户选项的信息。


    要显示“字体”对话框
    1. 将 Flags 属性设置为下述 Visual Basic 常数之一:
     cdlCFScreenFonts(屏幕字体)
     cdlCFPrinterFonts(打印机字体)
     cdlCFBoth(既可以是屏幕字体又可以是打印机字体)
    警告 在显示“字体”对话框之前必须将 Flags 属性设置为这些数值之一,否则将发生字体不存在错误。
    2. 用 ShowFont 方法显示对话框。
   下列代码根据用户在“字体”对话框中的选择来设置文本框的字体属性:
     Private Sub Command1_Click ()
       '将 Cancel 设置成 True。
       CommonDialog1.CancelError = True
       On Error GoTo ErrHandler
       '设置 Flags 属性。
       CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects
       '显示“字体”对话框。
       CommonDialog1.ShowFont
       '根据用户的选择来设置文本属性。
       Text1.Font.Name = CommonDialog1.FontName
       Text1.Font.Size = CommonDialog1.FontSize
       Text1.Font.Bold = CommonDialog1.FontBold
       Text1.Font.Italic = CommonDialog1.FontItalic
       Text1.Font.Underline = CommonDialog1.FontUnderline
       Text1.FontStrikethru = CommonDialog1.FontStrikethru
       Text1.ForeColor = CommonDialog1.Color
       Exit Sub
     ErrHandler:
       '用户按了“取消”按钮。
       Exit Sub
     End Sub

发表回复
你还没有登录,请先登录注册