东莞智能机器人研究院:公用对话框CommonDialog的 用法!

来源:百度文库 编辑:中财网 时间:2024/04/29 20:47:05
公用对话框。。
CommonDialog

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

一、添加CommonDialog 控件

CommonDialog 控件是一种ActiveX控件,一般情况下,启动VB后,在工具箱中没有公用对话框控件。要使用对话框控件,首先要在工具箱中添加公用对话框控件,步骤如下:

1)“工程”----->“部件”:





2)在“部件”对话框中选择“控件”选项卡,在控件列表框中选择“Microsoft common Dialog control 6.0"



3)单击“确定”,公用对话框就被添加到工具箱中,如下图所示:



二、CommonDialog 控件提供的六种标准对话框

1、显示文件对话框

包括“打开”和“另存”对话框。

2、使用“颜色”对话框

3、使用“字体”对话框

4、使用“打印”对话框

5、使用“帮助”对话框

方法 所显示的对话框
ShowOpen 显示“打开”对话框
ShowSave 显示“另存为”对话框
ShowColor 显示“颜色”对话框
ShowFont 显示“字体”对话框
ShowPrinter 显示“打印”或“打印选项”对话框
ShowHelp 调用 Windows 帮助引擎

下面将分别进行介绍。
三、显示文件对话框

通过使用 CommonDialog 控件的 ShowOpen 和 ShowSave 方法可显示“打开”和“另存为”对话框。

两个对话框均可用以指定驱动器,目录,文件扩展名和文件名。除对话的标题不同外,另存为对话外观上与打开对话相似。





(一)、显示“打开”和“另存为”对话框的步骤:

1、在窗体上建立一个CommonDialog 控件:



2、在窗体上选择CommonDialog 控件后单击右键:



3、选择“属性”,出现“属性页”:





其中:

1)、对话框标题:是“打开”和“另存为”对话框的标题。

2)、文件名称(FileName):用户在“打开”和“另存为”对话框中所选定的文件名。

3)、过滤器(Filter):用于确定文件列表框中所显示文件的类型。该属性值可以是一组元素或用“|”符号分开的分别表示不同类型文件的多组元素组成。

4)、初始化路径(InitDir):初始返回或设置文件目录。用于为打开或另存为对话指定初始的目录。如果此属性没有指定,则使用当前目录。

(二)、实例

1、界面如下图所示:



2、属性设置:

可以在“属性页”进行设置,也可以在代码窗口进行设置。

在“属性页”进行设置:



在代码窗口进行设置:

Option Explicit

Private Sub Command1_Click()
On Error GoTo kk
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
kk:
End Sub

Private Sub Form_Load()
CommonDialog1.FileName = "*.bmp"
CommonDialog1.Filter = "Pictures(*.bmp)|*.bmp|所有文件(*.*)|*.*"
CommonDialog1.InitDir = "d:\tu"
End Sub

3、运行效果:



实例2、打开、保存文本文件。

1、界面设计:



2、代码:

Option Explicit

Private Sub Command1_Click()
Dim str1 As String
On Error GoTo kk
CD1.Filter = "(*.txt)|*.txt|(*.*)|*.*"
CD1.InitDir = "c:\windows"
CD1.FileName = "*.txt"
CD1.ShowOpen
Text1.Text = ""
Open CD1.FileName For Input As #1
Do While Not EOF(1)
Line Input #1, str1
Text1.Text = Text1.Text & str1 & Chr(13) & Chr(10)
Loop
Close #1
kk:
End Sub

Private Sub Command2_Click()
On Error GoTo kk
CD1.FileName = "无标题.txt"
CD1.DefaultExt = "Txt"
CD1.Filter = "(*.txt)|*.txt|(*.*)|*.*"
CD1.ShowSave
Open CD1.FileName For Output As #1
Print #1, Text1.Text
Close #1
kk:
End Sub


3、运行效果:

四、颜色对话框

通过使用 CommonDialog 控件的 ShowColor 方法可显示“颜色”对话框。“颜色”对话框用以从调色板选择颜色,或是生成和选择自定义颜色。

如要使用“颜色”对话框,先设置 CommonDialog 控件中与颜色对话相关的属性。然后使用 ShowColor 方法显示对话框,使用 Color 属性检索所选的颜色。



例、为下列文本框设置前景色。



代码:

Private Sub Command1_Click()
CommonDialog1.ShowColor
Text1.ForeColor = CommonDialog1.Color
End Sub

运行效果:

五、字体对话框



1、字体对话框的属性:

使用 CommonDialog 控件的 ShowFont 方法可显示“字体”对话框。“字体”对话框用以通过指定字体、大小、颜色、样式选择一种字体。

如要使用“字体”对话框,先设置 CommonDialog 控件中与字体对话相关的属性。然后使用 ShowFont 方法实际显示对话。一旦在“字体”对话框中作出了选择,下列属性即包括与该选择有关的信息:

属性 决定
Color 选定的颜色。如要使用这个属性,必须先将 Flags 属性设置为 cdlCFEffects。
FontBold 是否选定了粗体。
FontItalic 是否选定了斜体。
FontStrikethru 是否选定删除线。如要使用这个属性,必须先将 Flags 属性设置为 cdlCFEffects。
FontUnderline 是否选定下划线。如要使用这个属性,必须先将 Flags 属性设置为 cdlCFEffects。
FontName 选定字体的名称。
FontSize 选定字体的大小。

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 标志也应该设置。

注意 在显示“字体”对话框前,必须先将 Flags 属性设置为 cdlCFScreenFonts,cdlCFPrinterFonts,或 cdlCFBoth。否则,会发生字体不存在的错误。
2、例题:

为下列文本框设置字体。



代码:

Private Sub Command1_Click()
On Error GoTo kk
Cd1.Flags = cdlCFBoth Or cdlCFEffects
Cd1.ShowFont
Text1.FontName = Cd1.FontName
Text1.FontSize = Cd1.FontSize
Text1.FontBold = Cd1.FontBold
Text1.FontItalic = Cd1.FontItalic
Text1.FontStrikethru = Cd1.FontStrikethru
Text1.ForeColor = Cd1.Color
kk:
End Sub


运行效果:

六、打印对话框



通过使用 CommonDialog 控件的 ShowPrinter 方法可显示“打印”对话框。“打印”对话框可用以指定打印输出方式。可以指定被打印页的范围,打印质量,打印的份数等等。这个对话框还包含当前安装的打印机的信息,并允许配置或重新安装缺省打印机。

注意 这个对话框并不给打印机传送数据,只是指定希望打印数据的情况。如果 PrinterDefault 属性为 True,可以使用 Printer 对象按选定的格式打印数据。

在运行时,一旦“打印”对话框中作出选择,下列属性即包括与该选择有关的信息:

属性 决定
Copies 打印的份数。
FromPage 开始打印页。
ToPage 结束打印页。
hDC 所选打印机的设备描述体。

七、帮助对话框


CommonDialog 控件的 ShowHelp 方法可运行 Windows 的帮助引擎 (WINHELP.EXE),并显示由 HelpFile 属性设定的一个帮助文件。

通过 HelpCommand 属性的设置,可以告诉该帮助引擎想要哪种类型的联机帮助,比如是上下文相关,或是特定关键字的帮助,等等。

1、HelpCommand 属性:返回或设置需要的联机帮助的类型。

语法

object.HelpCommand [= value]

HelpCommand 属性语法有下列部分:

部分

描述
object 对象表达式,其值是“应用于”列表中的对象。
value 如“设置值”所描述,它是指定帮助类型的常数或值。

设置值
value 的设置值是:

常数 值 描述
cdlHelpCommand &H102& 执行帮助宏。
cdlHelpContents &H3& 按照.hpj 文件 [OPTION] 节中内容选项所定义的那样,显示帮助内容主题。参阅下面的说明,以获得有关用 Microsoft Help Workshop 4.0X 创建的 Help 文件的信息。
cdlHelpContext &H1& 为特定的上下文显示帮助。当使用这个设置时,还必须用 HelpContext 属性指定一个上下文。
cdlHelpContextPopup &H8& 在弹出窗口显示一个特定的帮助主题,该主题由.hpj 文件 [MAP] 节中定义的上下文编号来标识。
CdlHelpContextPopup &H9& 确保 WinHelp 显示正确的帮助文件。如果正确的帮助文件正被显示,则不出现任何动作。如果被显示的不是正确的帮助文件,则 Winhelp 将打开正确的文件。
cdlHelpHelpOnHelp &H4& 为使用帮助应用程序本身显示帮助。
cdlHelpIndex &H3& 显示指定的帮助文件的索引。应用程序应将该值用于只有一个索引的帮助文件。
cdlHelpKey &H101& 为特定的关键字显示帮助。当使用这个设置时,还必须用 HelpKey 属性指定一个关键字。
cdlHelpPartialKey &H105& 显示在关键字列表中能找到的一个与由 dwData 参数所传送的关键字精确匹配的主题。如果存在多个匹配的话,则显示带有已找到的在“转到”列表框中列出的哪些主题的“搜索”对话框。如果没有匹配的,则显示“搜索”对话框。为了显示没有传送关键字的“搜索”对话框,可使用一个指向空字符串的长指针。
cdlHelpQuit &H2& 通知帮助应用程序,所指定的帮助文件不再使用。
cdlHelpSetContents &H5& 当用户按 F1 键时确定显示哪个内容的主题。
cdlHelpSetIndex &H5& 将由 HelpContext 属性指定的上下文,设置为由 HelpFile 属性指定的帮助文件当前的索引。直到用户访问另一个帮助文件,该索引一直保持为当前。该值仅用于有多个索引的帮助文件。

说明
用于 HelpCommand 属性常数的这些值在对象浏览器的 Microsoft CommonDialog 控件 (MSComDlg) 对象库中列出。

cdlHelpContents常数在用“Microsoft Help Workshop Version 4.0X”创建的“帮助”文件中不起作用。你可以用值“&HB”得到同样的效果。请参阅“HelpCommand 属性示例”中一个可运行的代码示例。

数据类型

Integer

2、HelpFile 属性:确定 Microsoft Windows Help 文件的路径和文件名,应用程序使用这个文件显示 Help 或联机文档。

语法

object.HelpFile[ = filename]

HelpFile 属性语法有以下部分:

部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
Filename 字符串表达式,确定应用程序中 Microsoft Windows Help 文件的路径和文件名。

说明
如果为应用程序创建了一个 Windows Help 文件并设置了应用程序 HelpFile 属性,当按 F1 键时,Visual Basic 自动调用 Help。无论对活动的控件还是活动的窗体,如果在 HelpContextID 属性中有一个上下文号,则 Help 显示对应当前 Help 上下文的主题;否则显示主要目录屏幕。