CommomDialog使用的例子

来源:百度文库 编辑:神马文学网 时间:2024/06/02 05:30:57
CommomDialog使用的例子 --------------------------------------------------------------------------------
'------名称-----------------作用-------------'       CdlTest             通用对话框'       CmdOpen             “打开”对话框按钮'       CmdSave             “另存为”对话框按钮'       CmdFont             “字体”对话框按钮'       CmdColor            “颜色”对话框按钮'       CmdPrint            “打印”对话框按钮'       CmdHelp             “帮助”对话框按钮'-------------------------------------------
'当“颜色”对话框按钮被按下时Private Sub CmdColor_Click()On Error Resume NextCdlTest.CancelError = TrueCdlTest.Flags = cdlCCRGBInitCdlTest.ShowColorIf Err = cdlCancel Then Exit SubTextBoxColor.ForeColor = CdlTest.ColorEnd Sub
'当“字体”对话框按钮被按下时Private Sub CmdFont_Click()On Error Resume Next'当用户按下“取消”按钮,返回一个错误信息,这样使我们可以对其进行控制CdlTest.CancelError = True'此句必须要CdlTest.Flags = cdlCFBoth + cdlCFEffects'显示“字体”对话框CdlTest.ShowFont'出现“取消”错误时,跳出If Err = cdlCancel ThenExit SubElse'将TextBox的字体属性根据“字体”对话框的变化作相应设置    '如果用户选择了字体才将字体改变,避免字体为空的错误    If CdlTest.FontName <> "" Then    TextBoxFont.FontName = CdlTest.FontName    End If    TextBoxFont.FontSize = CdlTest.FontSize    TextBoxFont.FontBold = CdlTest.FontBold    TextBoxFont.FontItalic = CdlTest.FontItalic    TextBoxFont.FontStrikethru = CdlTest.FontStrikethru    TextBoxFont.FontUnderline = CdlTest.FontUnderlineEnd IfEnd Sub
'当“帮助”对话框按钮被按下时Private Sub CmdHelp_Click()On Error Resume Next'设置 HelpCommand 属性,显示 Visual Basic 帮助目录主题CdlTest.HelpCommand = cdlHelpForceFile
'指定帮助文件Dim fullpath As StringIf Right(App.Path, 1) = "\" Then ' 若 App.Path 为根目录   fullpath = App.Path + "test.hlp"Else   fullpath = App.Path + "\" + "test.hlp"End If'上面是得到应用程序所在路径的小技巧
CdlTest.HelpFile = fullpath'显示“帮助”对话框CdlTest.ShowHelpEnd Sub
'当“打开”对话框按钮被按下时Private Sub CmdOpen_Click()'出现错误时跳到下一语句On Error Resume NextCdlTest.CancelError = True'属性DialogTitle是要弹出的对话框的标题CdlTest.DialogTitle = "打开文件"'缺省的文件名为空CdlTest.FileName = ""'属性Filter是文件滤器,返回或设置在对话框的类型列表框中所显示的过滤器。'语法object.Filter [= 文件类型描述1 |filter1 |文件类型描述2 |filter2...]CdlTest.Filter = "文本文件(.txt)|*.txt"'Flags属性的用法依据不同的对话框而变,详细使用需要查找联机帮助手册CdlTest.Flags = cdlOFNCreatePrompt + cdlOFNHideReadOnlyCdlTest.ShowOpenIf Err = cdlCancel Then Exit SubTextBoxOPen.Text = CdlTest.FileNameEnd Sub
'当“打印”对话框按钮被按下时Private Sub CmdPrint_Click()On Error Resume NextCdlTest.CancelError = True'显示“打印”对话框CdlTest.ShowPrinterIf Err = cdlCancel Then Exit SubEnd Sub
'当“保存”对话框按钮被按下时Private Sub CmdSave_Click()On Error Resume NextCdlTest.CancelError = TrueCdlTest.DialogTitle = "保存文件"CdlTest.FileName = ""'解释见上面CdlTest.Filter = "文本文件(*.txt)|*.txt"CdlTest.Flags = cdlOFNCreatePrompt + cdlOFNHideReadOnlyCdlTest.ShowSaveIf Err = cdlCancel Then Exit SubTextBoxSave.Text = CdlTest.FileNameEnd Sub

(源程序下载)   如果控件面板中没有CommonDialog控件的小图标,必须先从“添加控件对话框”中添加,下面我们来看看怎样调用不同类型的对话框。
  CommonDialog控件有一系列的Show方法,例如:ShowOpen、ShowSave、ShowFont、ShowColor、ShowPrinter、ShowHelp等,这些方法的使用语法是类似的,如下所示:
  object.ShowOpen,我们只须在程序中写入这个语句,就能调出“打开”对话框,同样也能调用其它类型的对话框。
  而CommonDialog控件的属性是和不同的对话框类型紧密相关的,有些属性只适用于某一类对话框,有些属性在不同的对话框中的属性是有差别的,所以下面分类列出了和不同对话框相关联的属性的用法。
  与ShowOpen、ShowSave方法相关的属性:  ●FileName属性:返回或设置所选文件的路径和文件名,如果在使用Show方法以前使用FileName属性,则设定了对话框的默认文件名;如果是在以后使用则返回选择的文件名。  使用语法是: CommonDialog.Filename[=pathname]   ●Filter属性:返回或设置在对话框的类型列表框中所显示的过滤器(也就是限定打开或保存为的文件类型),它的使用语法是:  object.Filter [= 描述文字1 |过滤标示1 |描述文字2 |过滤标示2]  其中描述文字为任意文字,而 过滤标示则采用*.文件后缀(例如:*.bmp)的格式,描述文字和过滤标示之间用“|”隔开。  ●DefaultExt属性:为该对话框返回或设置缺省的文件扩展名,也就是当我们没有指定打开或保存的文件类型时,按DefaultExt属性所设置的扩展名为默认值。
  与ShowFont方法相关的属性:  ●Color选定的颜色。为使用此属性,必须先将Flags属性设置为cdlCFEffects。   ●FontBold 是否选定“粗体”。   ●FontItalic 是否选定“斜体”。   ●FontStrikethru 是否选定删除线。   ●FontUnderline 是否选定下划线。   ●FontName 选定的字体名称。   ●FontSize 选定的字体大小。  使用的语法是直接引用,比如我们要根据“字体对话框”返回的值设置文本框的字体,则直接采用语句:Text.Font=CommonDialog.FontnName 
  与ShowColor方法相关的属性:  ●Color选定的颜色。为使用此属性,必须先将Flags属性设置为cdlCFEffects。
  与ShowHelp方法相关的属性:  ●HelpCommand属性 返回或设置需要的联机帮助的类型   ●HelpFile属性 确定帮助文件的路径和文件名  语法是: object.HelpFile[ = filename] 
  下面看看CancelError属性,它设置当选取“取消”按钮时是否认为出错,使用的语法是:CommonDialog.CancelError[= boolean] (boolean指布尔型变量)  如果我们把它设为True,则当使用者选取了“取消”按钮时程序会返回一个cdlCancel错误,通过捕捉这个错误并加以处理,我们就能避免程序的出错。具体的使用可在源码中看到实例。