在日常工作中,需要对文件进行频繁操作,如果在开发的软件中增加磁盘文件列表功能将大幅提高操作效率。磁盘文件列表不是单一的一个控件,其集成了磁盘(DriveListBox)、目录(DirListBox)、文件列表(FileListBox),分别命名为MyDrive、DirList、FileList,如图2-1所示。
图2-1 磁盘文件列表控件布局
双击磁盘控件、目录控件进入代码编辑区,添加以下灰色区的代码:
Private Sub MyDrive_Change() Me.DirList.Path = Me.MyDrive.Drive End Sub Private Sub DirList_Change() Me.FileList.Path = Me.DirList.Path End Sub
在软件开发中,该磁盘文件列表一般是在左侧很小的一个区域,如果遇到一个较长的文件夹名称时该如何显示文件名称?例如图2-2所示的这种情况。这时我们要用到控件的文本提示功能,这个功能在属性区,如图2-3所示。
图2-2 长文件夹名称下的运行结果
图2-3 属性区功能界面
在这里,我们不是在属性区内直接填写这个长文件夹名,而是要当鼠标选中文件夹列表的时候显示出该列表的名称。这需要重新回到代码区,双击控件就进入该控件的代码编辑区(见图2-4)。在过程选项中添加如下的鼠标单击过程响应,运行结果如图2-5所示。
图2-4 代码编辑区
Private Sub DirList_Click() Me.DirList.ToolTipText = Me.DirList.List(Me.DirList.ListIndex) End Sub
如果我们不希望它显示完整的路径,而希望其仅显示该文件夹的名称,那么我们需要使用Dir函数来获取我们需要的文件夹名称。修改如下:
Private Sub DirList_Click() Me.DirList.ToolTipText = Dir(Me.DirList.List(Me.DirList.ListIndex), vbDirectory) End Sub
运行结果如图2-6所示。
图2-5 显示文件夹全路径的程序运行结果
图2-6 只显示文件夹名称的程序运行结果
关于Dir函数的使用,可以参考MSDN中的介绍。