文件系统控件.pptx
《文件系统控件.pptx》由会员分享,可在线阅读,更多相关《文件系统控件.pptx(49页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、图图10.1第1页/共49页为了在应用程序中能处理文件,VB提供了三种文件系统控件:驱动器列表框、目录列表框和文件列表框。利用它们可以自己设计出各种处理文件的对话框。当然也可以直接利用在第7章介绍过的VB提供的标准“打开”(Open)、“另存为”(Save As)对话框,但是,利用本章介绍的文件系统控件可以设计出满足用户特殊要求的、具有不同界面风格的对话框,利用它们进行文件管理十分方便。10.1驱动器列表框驱动器列表框控件(Drive List Box)在工具箱中的图标为。我们通过一个简单的例题说明驱动器列表框的作用。第2页/共49页【例10.1】在窗体上添加一个驱动器列表框,一个“退出”命令
2、按钮。当单击驱动器列表框中的某个驱动器名称时,用消息框显示所选的驱动器。用鼠标单击工具箱中的驱动器列表框图标,并用鼠标在窗体上拖拉画出一个驱动器列表框(见图10.2)。第3页/共49页图图10.2第4页/共49页从图10.2中可以看到驱动器列表框的右端有一个下三角按钮,在程序运行时,单击此按钮可以打开一个列表,列出当前系统中所能使用的驱动器的名字(见图10.3),列表框的顶部显示当前驱动器的名字,用户如单击列表框中某一驱动器的名字,则顶部立即改为用户所选的驱动器名。第5页/共49页图图10.3第6页/共49页驱动器列表框最重要的属性是Drive属性,它用来设置或返回当前驱动器名,但在设计阶段不
3、能使用这个属性,必须在程序中赋值,如:dr vTest.Drive=“a:”其中dr vTest 是在属性表中已指定的驱动器列表框的“名称”属性值(即该控件的名字)。执行此赋值语句后把当前驱动器改为“a:”。当用户单击列表框中某一驱动器名时,该驱动器名就成为该列表框的Drive属性值,也就是说,Drive属性可以用来设置当前驱动器,也可以接收并返回用户选定的驱动器名。当Drive属性值发生改变时,就发生Change事件。例如,执行上面的赋值语句后,就触发 第7页/共49页drvTest_Change()事件过程。为了显示选中的驱动器名,编写如下事件过程:Private Sub drvTest_
4、Change()MsgBox 选中的驱动器是:+drvTest.DriveEnd Sub例如,选中驱动器f后,驱动器列表框中显示该驱动器名,并弹出消息框,如图10.4。第8页/共49页图图10.4第9页/共49页10.2目录列表框目录列表框用于显示当前磁盘驱动器的目录。目录列表框控件(DirList Box)在工具箱中的图标为。【例10.2】调整图10.2窗体的布局,添加一个目录列表框dirTest,窗体如图10.5。当选中某个驱动器后,该驱动器的目录显示在目录列表框中。如果选中某个目录,用消息框显示被选中目录名。第10页/共49页图图10.5第11页/共49页从图10.5 中可以看到顶部是根
5、目录“c:”,下面列出“c:”下的子目录名,其中“VB98”被点亮,表示它是系统的当前目录。列表框右侧有一个垂直滚动条,在程序运行时移动滚动条可以浏览全部目录。从图中可以看到,只有当前目录(VB98)是打开的,其他子目录全部是关闭的(VB98左侧的文件夹图标是打开的)。双击一个目录,使其被打开,触发目录列表框的Change 事件,程序如下:Private Sub dirTest_Change()MsgBox 选中的目录是:+dirTest.PathEnd Sub第12页/共49页Path(路径)属性是目录列表框的重要属性之一,用来设置和返回当前的路径。上面事件过程中的dirTest.Path
6、返回当前的路径。到目前为止,窗体中的驱动器列表框和目录列表框相互之间尚未建立联系,也就是说,改变驱动器名时,目录列表框中内容不能随之变化。若要把驱动器列表框和目录列表框结合起来用,使二者“同步”,需要编写一段程序。Private Sub dr vTest_Change()dirTest.Path=dr vTest.DriveEnd Sub第13页/共49页例如,当驱动器列表框中当前目录由“c:”改变为“d:”时,发生了Change事件,执行drvTest _Change过程,drvTest.Drive的值已变为“d:”,把它赋给目录列表框dirTest的Path属性,因此在目录列表框就显示“d
7、:”的目录结构,见图10.6。这样,驱动器列表框和目录列表框能够同步变化。第14页/共49页图图10.6第15页/共49页10.3文件列表框文件列表框显示当前目录下的文件。文件列表框控件(File List Box)在工具箱中的图标为。【例10.3】调整图10.5的布局,添加文件列表框,并使目录与文件列表保持同步。在窗体上画出文件列表框,列表框中列出当前目录下的文件名。由于文件数量多,无法在列表框中全部显示出来,系统自动加上垂直滚动条用以浏览。见图10.7。第16页/共49页图图10.7第17页/共49页对 于 文 件 列 表 框,有 几 个 问 题 要 讨 论:1.怎 样 保 持 文 件 列
8、 表 与 目 录 的 同 步:利 用 P a t h 属 性文 件 列 表 框 也 有 P a t h 属 性,用 来 指 定 和 返 回 当 前 目 录。在 程 序 运 行 时,当 用 户 选 中 目 录 列 表 框 中 的 一 个 子 目 录 名 时,要 求 文 件 列 表 框 也“同 步”工 作,显 示 出 新 目 录 下 的 文 件。这 时 需 要 用 程序 来 实 现。当 用 户 选 择 了 新 的 目 录 名 时,由 于 目 录 改 变 了,发 生 了 C h a n g e 事 件。可 以 编 写 出 下 面 的 事 件 过 程:P r i v a t e S u b d i r
9、 Te s t _ C h a n g e ()f i l Te s t.P a t h =d i r Te s t.P a t hE n d S u b第18页/共49页将目录列表框的Path属性值赋给文件列表框的Path属性,这样就使得文件列表框得到目录列表框所指定的路径,显示出新目录下的文件名。文件列表框Path属性能够改变当前路径。若执行以下语句:filTest.Path=a:vb则指定当前路径为“a:vb”,文件列表框中显示出“a:vb”目录下的文件名。Path的缺省值是系统的当前路径。请注意,目录列表框和文件列表框都有Path属性,但二者的含义不同。如果有以下两个赋值语句:第19页
10、/共49页dirTest.Path=a:(目录列表框)filTest.Path=a:(文件列表框)则在目录列表框中显示a盘根目录下的目录结构,而在文件列表框中则列出a盘根目录下的全部文件名,在这里Path 用来确定文件的路径。2.用FileName属性设置或返回文件名文件列表框的另一属性FileName用来在运行时设置或返回所选中的文件名。例如,我们用MsgBox 函数显示被选中的文件。当用鼠标单击文件时,文件被选中,可以通过FileName属性得到文件名:第20页/共49页Private Sub filTest_Click()MsgBox 选中的文件是:+filTest.FileNameEn
11、d Sub如果用户单击文件列表框中一个文件名,则将此文件名送到列表框控件的FileName属性,也就是说,从该控件的FileName属性得到了用户所选择的文件名。3.用Pattern 属性限制显示文件的类型文件列表框有一个Pattern 属性,用来指定在文件列表框中显示文件的类型。它的缺省值为“*.*”,即显示所有文件的名字。如将Pattern 属性设置第21页/共49页 为“*.f r m”,则 显 示 扩 展 名 为.f r m 的 文 件。P a t t e r n 属 性 值 既 可 以 在 设 计 阶 段 从 属 性 表 中 设 置,也 可 以 在 运 行 阶 段 由 语 句 实 现
12、,如:f i l Te s t.p a t t e r n =“*.f r m”10.4如何运用文件系统控件在 应 用 程 序 中,常 常 需 要 对 文 件 进 行 操 作(如 对 文 件 的 打 开、复 制、重 命 名 等)。在 开 发 这 些 应 用 程 序 时,应 该 提 供 对 用 户 方 便 友 好 的 操 作 界 面。利 用 本 章 介 绍 的 内 容 可 以 方 便 地 实 现 这 一 任 务。【例 1 0.4】本 例 介 绍 如 何 将 驱 动 器、目 录 和 文 件 列 表 等 三 个 控 件 结 合 起 来 使 用,并 使 其 同 步 工 作,以第22页/共49页及怎样利
13、用它对文件进行复制、重新命名和删除的操作。窗体设计如图10.8所示。图图10.8第23页/共49页我 们 从 以 下 几 个 方 面 讨 论 这 个 程 序。1.装 载 窗 体在 初 始 装 载 窗 体 时,将 当 前 路 径 显 示 在 标 签 框 中。P r i v a t e S u b F o r m _ L o a d ()l a b e l 8.C a p t i o n =D i r L i s t.P a t hE n d S u b程 序 开 始 运 行 后,L a b e l 8.C a p t i o n 的 值 将 会 由 于 D i r L i s t _ C h a
14、 n g e()事 件 过 程 而 发 生 改 变。如 果 不 在 初 始 装 载 时 为 l a b e l 8.C a p t i o n 赋 值,并 且 不 改 变 目 录,则 l a b e l 8.C a p t i o n 一 直 为空。第24页/共49页2.保 持 各 文 件 系 统 控 件 的 同 步若 要 使 驱 动 器 列 表 框、目 录 列 表 框 和 文 件 列 表 框 保 持 同 步,需 要 如 下 两 个 事 件 过 程:P r i v a t e S u b D r i v e L i s t _ C h a n g e ()D i r L i s t.P a t
15、 h =D r i v e L i s t.D r i v eE n d S u bP r i v a t e S u b D i r L i s t _ C h a n g e ()F i l e L i s t.P a t h =D i r L i s t.P a t h L a b e l 8.C a p t i o n =D i r L i s t.P a t hE n d S u b第25页/共49页当用户单击驱动器列表框的某一驱动器名时,触发DriveList_Change()事件过程,将驱动器名赋给目录列表框的Path 属性,以使驱动器列表框与目录列表框“同步”。由于目录列表框中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件系统 控件
限制150内