VB备忘录12 通用对话框

对话框有:

1、inputBox

2、msgBox

3、通用通话框



通用通话框

部件:microsoft common dialog control 6.0

分为五种:

打开showopen

另存为 showsave

颜色 showcolor

字体 showfont

打印 showprinter

帮助 showhelp



注意: msgBox popupmenu showopen它们都有“挂起特征”,即对本过程以下的代码有静止作用,直到响应完毕。

一个实验看一下三个不同。

添加一个计时器,在这三个弹出时的效果看一下,响应时,另一个过程的计时器是否仍然运行:













可以看到上面三种情况时,对于其它过程,只有PoppupMenu允许其它继续运行,而msgBox和commondialog却使其挂起,静止。




showopen的属性中:

filter过滤文件

filename 当点击相关文件后会返回文件名值(含路径),若点取消则返回空串。



多选

用flags标志来进行选择。

多选文件时,多个文件之间用的是空格进行分隔。这样就遇到一个问题,有些文件名中间也有空格,产生了干扰,怎么办呢?

还有一个cdlOFNExplore进行组合。这样组合选择后的结果就是,分隔符不是空格,而是空字符。

空字符: ASC码为0的字符。chr(0)

下面进行多个字符的选择,专门选择其中一个含有空格的文件名:

Private Sub Command1_Click()
    Dim s As String,a As Variant,i As Integer
    CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
    CommonDialog1.ShowOpen
    s = CommonDialog1.FileName
    a = Split(s,Chr(0))
    For i = 0 To UBound(a)
        List1.AddItem a(i)
    Next i
End Sub



一个值得注意的是,showfont须设置flags,否则提示“没有安装字体,请从控制面板进行安装”

有两个可选择:

cdlCFBoth 屏幕和打印字体

cdlcfprinterFonts 打印字体

cdlCFScreenFonts 屏幕字体


即:

commondialog1.flags=cdlcfprinterFonts ' 也可为cdlCFboth或cdlCFScreenFonts

commondialog1.showfont

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...