⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 37.txt

📁 介绍VB里的各种控件的使用方法,窗口控制,图像编程以及OCX等内容,还提供了一个API集供参考.
💻 TXT
字号:
改进VB的驱动器列表框

信 阳 师 范 学 院 计 算 机 系 
董 建 军 

V B 是 一 个 高 效 快 捷 的 WINDOWS 应 用 程 序 开 发 工 具, 倍 受 人 们 青 睐。 然 而, V B 也 有 其 局 限 性, 部 分 控 件 不 够 完 善, 许 多 事 件 和 属 性 没 有 提 供, 又 加 上 V B 自 身 的 封 闭 性( 不 允 许 自 我 创 建 对 象), 使 得 我 们 很 难 开 发 出 具 有 一 定 特 色 的 程 序, 如 V B 的 驱 动 器 列 表 框 便 是 一 例。 
在 要 求 不 高 的 情 况 下, V B 的 驱 动 器 列 表 框 能 很 好 的 胜 任 其 工 作。 在 使 用 它 时 候, 一 般 在 其 CHANGE 事 件 中 加 入 以 下 代 码, 用 以 改 变 当 前 路 径, 从 而 带 动 目 录 列 表 框: DIR.PATH= DRIVE1.DRIVE
其 中 DIR1、DRIVE1 分 别 是 驱 动 器 列 表 框 和 目 录 列 表 框 的 名 字(NAME 属 性, 以 下 同)。 这 样, 在 运 行 时 只 要 从 驱 动 器 列 表 框 中 任 选 一 项( A:、 B:、 C:、...), 目 录 列 表 框 中 的 内 容 便 会 跟 着 变 动。 
然 而, 事 情 远 不 象 它 显 示 的 那 么 简 单, 在 程 序 运 行 时 可 能 会 出 现 以 下 情 况: 

⑴、 如 果 驱 动 器 中 没 有 磁 盘 便 会 产 生 运 行 时 错 误, 从 而 导 致 整 个 程 序 运 行 终 止, 这 是 我 们 所 不 想 见 到 的。 这 时 有 必 要 在 CHANGE 事 件 中 加 入 出 错 处 理: 
SUB DRIVE1.CHANGE ()
DIM BACK%
ON ERROR GOTO ERRHANDL
DIR1.PATH=DRIVE1.DRIVE
EXIT SUB
ERRHANDL:
BEEP
'显示惊叹号图标和 RETRY ,CANCLE按钮
BACK=BMSGBOX (ERROR(ERR),5 OR 48,"错误")
IF BACK=4 THEN '按下 RETRY按钮
RESUME
ELSE 
RESUME NEXT
ENDIF
EXIT SUB
END SUB
在 这 种 情 况 下, 当 错 的 时 候, 往 驱 动 器 中 插 入 磁 盘 并 按 下 REYRY 按 钮, 程 序 得 以 正 确 运 行; 若 按 下 CANCEL 按 钮 就 会 出 现 以 下 问 题: 

目 录 列 表 框 的 当 前 内 容 没 有 发 生 改 变, 而 驱 动 器 列 表 框 的 内 容 则 为 刚 才 选 中 的 驱 动 器, 也 即 驱 动 器 列 表 框 和 目 录 列 表 框 的 内 容 没 有 指 向 同 一 磁 盘, 这 当 然 是 我 们 所 不 能 容 忍 的。 原 因 在 于 这 个 出 错 处 理 过 程 是 加 在 CHANGE 事 件 中 的, 而 CHANGE 事 件 是 在 当 前 驱 动 器 发 生 变 化 以 后 才 产 生 的。 如 果 驱 动 器 列 表 框 有 CLICK 事 件 的 话, 那 么 问 题 便 迎 刃 而 解 了。 
⑵、 若 更 换 软 驱 中 的 磁 盘, 再 次 选 中 当 前 驱 动 器 进 行 目 录 列 表 时, 则 驱 动器 列 表 框 和 目 录 列 表 框 中 的 内 容 不 会 有 变 动, 仍 为 上 一 张 盘 的 内 容,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -