vb的CommonDialog控件的使用
使用CommonDialog控件
CommonDialog控件提供诸如打开和保存文件、设置打印选项、选择颜色和字体等操作的一组标准对话框。运行 Windows 帮助引擎时,控件还能够显示帮助。
CommonDialog控件在Visual Basic和 Microsoft Windows 动态连接库Commdlg.dll 例程之间提供了接口。
为了用该控件创建对话框,必须要求Commdlg32.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
使用“打印”对话框
“打印”对话框允许用户指定打印输出的方法。用户可指定打印页数范围、打印质量、复制数目等等。此对话框还显示有当前安装的打印机信息,并允许用户进行配置或重新安装新的缺省打印机。
注意 此对话框并不真正地将数据送到打印机上。它允许用户指定如何打印数据。必须编写代码实现用选定格式打印数据。
详细信息 关于打印数据的信息,请参阅第十二章“使用文本和图形”。运行时,当用户在“打印”对话框作出选择后,下述属性将包含用户选项的信息。
要显示“打印”对话框
1. 通过设置相应的“打印”对话框属性,为对话框设置所需缺省设置值。例如,为在显示对话框时在“份数”框中显示 2,应将 Copies 属性设置为 2:
CommonDialog1.Copies = 2
2. 用ShowPrinter方法显示“打印”对话框。
用户单击“Command1”命令按钮时,下列代码将显示“打印”对话框:
Private Sub Command1_Click ()
Dim BeginPage, EndPage, NumCopies, Orientation. i
'将 Cancel 设置成 True。
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
'显示“打印”对话框。
CommonDialog1.ShowPrinter
'从对话框中获取用户选定数值。
BeginPage= CommonDialog1.FromPage
EndPage = CommonDialog1.ToPage
NumCopies= CommonDialog1.Copies
Orientation=CommonDialog1.Orientation
For i = 1 to NumCopies
'在此放置代码,将数据发送到打印机。
Next
Nxit Sub
ErrHandler:
'用户按下了“取消”按钮。
Exit Sub
End Sub
注意 若将PrinterDefault属性设置为True,则可在Visual Basic Printer对象上打印。另外,当PrinterDefault 属性为True时,所有在“打印”对话框“设置”部分中作出的变更都将改变用户“打印机”设置中的打印机设置值。
使用ShowHelp方法显示帮助文件
可用CommonDialog控件的ShowHelp方法显示帮助文件。
要使用 ShowHelp 方法显示帮助文件
1. 设置HelpCommand和HelpFile属性。
2. 用ShowHelp方法显示指定的帮助文件。
在单击“Command1”命令按钮时,下列代码将显示指定的帮助文件:
Private Sub Command1_Click()
'将 Cancel 设置为 True。
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
'设置 HelpCommand 属性
CommonDialog1.HelpCommand = cdlHelpForceFile
'指定帮助文件。
CommonDialog1.HelpFile = "c:\Windows\Cardfile.hlp"
'显示 Windows 帮助引擎。
CommonDialog1.ShowHelp
Exit Sub
ErrHandler:
'用户按下了“取消”按钮。
Exit Sub
End Sub
详细信息 有关显示通用对话框控件的帮助文件的详细信息,请参阅《VisualBasic 6.0语言参考手册》“HelpCommand 属性”、“HelpFile 属性”和“ShowHelp 方法”。
使用Data控件
内在的Data控件通过使用 Microsoft 的 Jet 数据库引擎来实现数据访问——与 Microsoft Access 所用的数据库引擎相同。这一技术使用户可以无缝地访问很多标准的数据库格式,而且使用户无需编写任何代码就可以创建数据识别应用程序。这种内在的 Data 控件最适合较小的(桌面)数据库,诸如 Access 和 ISAM 数据库。
可以使用这种内在的Data控件创建应用程序来显示、编辑和更新来自多种已有的数据库的信息。这些数据库包括Microsoft Access、Btrieve、dBASE、Microsoft FoxPro和Paradox。也可以使用这种控件如同访问真正的数据库一样来访问 Microsoft Excel、Lotus 1-2-3以及标准的 ASCII 文本文件。此外,Data控件也可以访问和操作远程的开放式数据库连接 (ODBC)数据库,诸如 Microsoft SQL Server 以及 Oracle。
注意 Data控件和Remote Data控件两者都包含在Visual Basic中,以提供向后兼容。不过,由于ActiveX 数据对象(ADO) 的适应性更广,因此建议使用 ADO Data 控件来创建新的数据库应用程序。详细信息请参阅“使用 ADO Data 控件”。
Data控件、Remote Data控件以及ADO Data控件在概念上很相似:三者都是将一个数据源连接到一个数据绑定控件的“数据控件”。三者也都共享相同的外观——一组共四个按扭,使用户可以直接到达记录集的开始、记录集的末尾以及在记录集中向前或向后翻卷。
使用Data控件创建一个简单的数据库应用程序
要使用Data控件创建一个简单的数据库应用程序
1. 在窗体上放置一个Data控件。Data控件是一个内在的控件,因而总是可用的。
2. 单击并选定这个Data控件,按 F4 键显示“属性”窗口。
3. 在“属性”窗口中,将“连接”属性设置为想要使用的数据库类型。
4. 在“属性”窗口中,将“DatabaseName”属性设置为想要连接的数据库的文件或目录名称。
5. 在“属性”窗口中,将“记录源”属性设置为想要访问的数据库表的名称。
6. 在该窗体上放置一个文本框控件。
7. 单击并选定这个TextBox控件,并在其“属性”窗口中将“数据源”属性设置为该Data控件。
8. 在这个“属性”窗口中,将“数据字段”属性设置为在该数据库中想要查看或修改的字段的名称。
9. 对其它的每一个想要访问的字段,重复第 6、7、8 步。
10. 按 F5 键运行这个应用程序。
设置Data 控件与数据相关的属性
下述与数据相关的属性可以在设计时设置。这个列表给出了设置这些属性的一种逻辑顺序:
注意 数据库技术是一门复杂的科学,下面的这些建议并不意味着要当作规则来使用。
1. RecordsetType—RecordsetType 属性决定记录集是一个表、一个动态集(dynaset)还是一个快照。这个选择将影响哪些记录集属性是可用的。例如,快照类型的记录集与 dynaset 记录集相比具有更多的限制。
2. DefaultType—DefaultType 属性指定所使用的是 JET 工作空间,还是ODBCDirect 工作空间。
3. DefaultCursorType—DefaultCursorType 属性决定光标的位置。可以使用 ODBC 驱动程序来决定光标的位置,或者指定服务器或 ODBC 光标。只有当使用 ODBCDirect 工作空间时,DefaultCursorType 属性才是有效的。
4. Exclusive—决定该数据是用于单用户环境,还是多用户环境。
5. Options—这个属性决定记录集的特征。例如,在一个多用户环境中,可以设置 Options 属性来禁止他人所做的更改。
6. BOFAction、EOFAction—这两个属性决定当这个控件位于光标的开始或末尾时的行为。可能的选择包括停留在开始或末尾、移动到第一个或最后一个记录、或者添加一个新的记录(只有在末尾时)。