66.txt

来自「介绍VB里的各种控件的使用方法,窗口控制,图像编程以及OCX等内容,还提供了一个」· 文本 代码 · 共 47 行

TXT
47
字号
用API函数改进ListView 控件的显示效果 



一 、ListView 使 用 简 介
---- ListView 控 件 是VB 开 发 者 非 常 喜 爱 的 控 件 之 一。 作 为
Windows95 公 共 控 件 组(COMCTL32.OCX) 的 成 员, 它 经 常 与 经 常 与
TreeView、ImageList 等 控 件 联 合 使 用。 即 用 TreeView 显 示 一 个 的 
树 型 结 构, 而 用 ListView 显 示 选 中 的 节 点(Node) 对 象 的 记 录 
集。 

---- 这 是 笔 者 在 开 发 财 务 软 件 项 目 中 的<< 凭 证 管 理>> 模 块 
的 一 个 用 户 界 面。 屏 幕 左 边 是 一 个TreeView 控 件, 用 来 显 示 
会 计 凭 证 的 类 别; 右 边 是 一 个ListView, 用 来 显 示 对 应 类 别 
的 凭 证 目 录; 上 方 是 一 个 菜 单 条 控 件(MenuBar) 和 一 个 工 具 
条 控 件(ToolBar); 下 方 是 一 个 状 态 栏 控 件(StatusBar), 用 来 显 
示 凭 证 数 个 当 前 日 期。 

---- 大 家 可 以 看 到 图 中 所 示 的 界 面 非 常 类 似 于Window95/98 的 
资 源 浏 览 器, Windows 的 界 面 风 格 做 为 一 种 标 准 已 为 广 大 用 
户 所 接 受。 而Windows 操 作 系 统 的 主 要 的 优 点 就 是 为 所 有 的 
应 用 程 序 提 供 了 公 用 的 界 面。 知 道 如 何 使 用 基 于Windows 的 
应 用 程 序 的 用 户, 很 容 易 学 会 使 用 其 他 应 用 程 序。 

---- 这 种 使 用Windows95 公 共 控 件 组 合 的 方 法 能 够 达 到 与
Windows 界 面 的 一 致 性, 所 以 在 目 前VB5.0 应 用 程 序 的 开 发 中 
经 常 使 用。 

二、 填 充 大 量 结 果 集 所 遇 到 的 问 题
---- 在 实 际 应 用 开 发 中, 经 常 用ListView 填 充 一 个 数 据 库 结 
果 集(Recordset) 的 内 容。 即 先 写 一 段SQL 查 询 语 句, 产 生 一 个 
结 果 集, 然 后 将 结 果 集 的 每 一 条 记 录 用DO...LOOP 循 环 语 句 
中 填 到ListView 中。 

---- 但 是 当 结 果 集 很 大 时( 例 如 有5000 条 以 上 的 记 录) , 填 
充 所 需 要 的 时 间 会 很 长。 用 户 不 得 不 等 很 长 时 间 完 成 一 
个 查 询。 所 以 在 查 询 的 过 程 中 必 须 允 许 用 户 按Escape 键 退 
出。 具 体 做 法 是 在DO...LOOP 循 环 体 中 加 一 条DoEvents 函 数, 并 
写 一 段 中 断 退 出 程 序 代 码。 

---- DoEvents 函 数 的 功 能 是: 转 让 控 制 权, 以 便 让 操 作 系 统 
处 理 其 它 的 事 件。 这 样 在 长 时 间 的 查 询 过 程 中, 如 果 用 户 
按 了Escape 键, 将 退 出 循 环 体, 结 束 查 询 过 程。 

---- 但 是 这 样 又 会 引 发 另 外 一 个 问 题: 由 于DoEvents 可 以 让 
操 作 系 统 响 应 别 的 事 件, 循 环 体 中 填 充 每 一 条ListView 项

⌨️ 快捷键说明

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