Visual Basic 使用公共对话框
使用公共对话框
一些应用程序中常常需要打开和保存文件、选择颜色和字体、打印等操作,这就需要应用程序提供相应的对话框以方便使用。这些对话框作为Windows的资源,在Visual Basic中已被做成“公共对话框”控件。
公共对话框控件是一个ActiveX部件,位于“C:\Windows\System\Comdlg32.ocx”中,名称为“Microsoft Common Dialog Control 6.0”。添加该部件后,工具箱中即会出现公共对话框控件(CommonDialog)的图标
。
在应用程序中使用公共对话框控件,需要将它添加到窗体中。由于在程序运行时看不见公共对话框控件,因此可以将它放置在窗体的任何位置。在运行程序时,公共对话框可以显示一个对话框或是执行帮助引擎,所显示的对话框由控件的方法决定。共有6种方法来指定相应的对话框,如表6.2所示。
表6.2 显示公共对话框的方法
方 法 | 所显示的对话框 |
ShowOpen | 显示文件打开对话框 |
ShowSave | 显示另存为对话框 |
ShowColor | 显示颜色对话框 |
ShowFont | 显示字体对话框 |
ShowPrinter | 显示打印对话框 |
ShowHelp | 调用Windows帮助引擎 |
每种对话框都有自己特殊的属性,这些属性既可以在属性窗口中设置,也可以在代码中设置,还可以在“属性页”对话框中设置。在属性窗口中选择“(自定义)”,再单击右侧的“…”按钮,将出现“属性页”对话框,如图6.3所示。
图6.3 “属性页”对话框
1.“打开”对话框
打开文件是Windows应用程序中常用的操作。“打开”对话框可以用来指定文件所在的驱动器、文件夹及文件名、文件扩展名,如图6.4所示。
图6.4 “打开”对话框
显示对话框很容易,只需在相应的过程中输入:
CommonDialog1.ShowOpen
公共对话框包括很多可在对话框中设置控件特性的属性。例如FileName属性,存储了用户在“打开”或“另存为”对话框中输入的文件名称;DialogTitle(对话框标题)用于设置对话框的标题,默认为“打开”或“另存为”。
Filter属性。过滤器Filter用于设置对话框中显示文件的类型,格式为:描述|通配符。如限定显示的文件类型为文本文件的话,在Filter属性栏可以输入:
Text(*.txt)|*.txt
如果设置多种文件类型时,还是用“|”隔开,例如限制打开文件的类型为*.txt及*.bat文件,可输入:
文本文件(*.txt)|*.txt|Bat(*.bat)|*.bat
Flags属性。标志(Flags)用于设置对话框的一些选项,可以是多个值的组合。例如,在Flags栏输入“&H1”设置值,程序运行中显示的“打开”对话框下面的“以只读方式打开”复选框被选中了。用户可以通过查找Visual Basic帮助文件中的Flags属性来了解每一个对话框标志的完整描述。
例如,可以运用公共对话框控件作为打开文件的界面,重新设置例6.1的图形浏览器。用CommonDialog1取代三个文件系统控件,并添加一个按钮Commoand1作为浏览文件之用,如图6.5所示。
图6.5 窗体界面
在设置了CommonDialog1的Filer属性后,只需在命令按钮的Click事件中输入如下代码:
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
2.“另存为”对话框
通过公共对话框的ShowSave方法可以显示“另存为”对话框。“另存为”对话框可以用来指定文件所要保存的驱动器、文件夹及文件名,如图6.6所示。
图6.6 “另存为”对话框
使用“另存为”对话框的方法及属性设置与“打开”对话框十分相似。例如,利用FileName属性可以设置保存文件的文件名及路径。
3.“颜色”对话框
“颜色”对话框用来在调色板中选择颜色,或者创建自定义颜色。运行时选定颜色并关闭对话框后,可用Color属性得到所选的颜色。
例如,用变量Select_Color保存选定的颜色值,程序可写成:
Select_Color = CommonDialog1.ShowColor
4.“字体”对话框
使用公共对话框的ShowFont方法可显示“字体”对话框,如图6.7所示。“字体”对话框用以通过指定字体、大小、颜色、样式设置字体。
图6.7 “字体”对话框
和其他公共对话框一样,只要设置需要的标志和属性,就可以显示“字体”对话框。但值得注意的是,必须将Flags属性设置为下列常数之一与其他选项之和:
cdlCFScreenFonts或1(屏幕字体)
cdlCFPrinterFonts或2(打印机字体)
cdlCFBoth或3(=1+2,两种字体皆有)
例如,设为259(=256+3,是cdlCFEffects常数与3之和),在对话框中将出现颜色、效果等选项。
运行时选定设置并关闭对话框后,返回属性如表6.3所示。
表6.3 “字体”对话框的返回属性
属 性 | 确 定 |
Color | 确定颜色。如要使用这个属性,必须先将Flags属性设置为cdlCFEffects或256 |
FontBold | 是否选定了粗体 |
FontItalic | 是否选定了斜体 |
FontStrikethru | 是否选定删除线。如要使用这个属性,必须先将Flags属性设置为cdlCFEffects或256 |
FontUnderline | 是否选定下划线。如要使用这个属性,必须先将Flags属性设置为cdlCFEffects或256 |
FontName | 选定字体的名称 |
FontSize | 选定字体的大小 |
5.“打印”对话框
通过使用公共对话框的ShowPrinter方法可显示“打印”对话框,如图6.8所示。
图6.8 “打印”对话框
“打印”对话框可用以指定打印输出方式,可以指定被打印页的范围,打印质量,打印份数等。这个对话框还包含当前安装的打印机的信息,并允许配置或重新安装缺省打印机。但这个对话框并不给打印机传送数据,只是指定希望打印数据的情况。如果PrinterDefault属性为True,可以使用Printer对象按选定的格式打印数据。