使用 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