用API函数改进ListView控件的显示效.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用API函数改进ListView控件的显示效果 作者:王建兵 一 、ListView 使 用 简 介 ---- ListView 控 件 是VB 开 发 者 非 常 喜 爱 的 控 件 之 一。 作 为Windows95 公 共 控 件 组(COMCTL32.OCX) 的 成 员, 它 经 常 与 经 常 与TreeView、ImageList 等 控 件 联 合 使 用。 即 用 TreeView 显 示 一 个 的树 型 结 构, 而 用 ListView 显 示 选 中 的 节 点(Node) 对 象 的 记 录 集。 ---- 这 是 笔 者 在 开 发 财 务 软 件 项 目 中 的 模 块的 一 个 用 户 界 面。 屏 幕 左 边 是 一 个TreeView 控 件, 用 来 显 示会 计 凭 证 的 类 别; 右 边 是 一 个istView, 用 来 显 示 对 应 类 别的 凭 证 目 录; 上 方 是 一 个 菜 单 条 控 件(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 项 目(ListItem) 的 过 程 也 会 显 示 出 来, 所 以 在 填 充 的 过 程 中 屏 幕会 不 停 的 闪 动, 这 种 现 象 当 然 不 能 被 用 户 所 接 受。 如 何 解决 这 个 问 题 呢 ? 三、 解 决 方 案 ---- 用Windows API 函 数 可 以 解 决 这 个 问 题。 首 先 对 几 个 用 到的API 函 数 做 一 解 释 和 说 明。 ---- 1. GetClientRect Lib user32 (ByVal hwnd As Long, lpRect As RECT)As Long ---- 此 函 数 的 功 能 是 获 得 一 个 指 定 对 象 窗 口(Window) 的 矩 型框 区 域(rectangle)。 ---- Hwnd 为 指 定 对 象 或 窗 体 的 句 柄。LpRect 为 返 回 矩 型 框 的结 构( 必 须 定 义 为 结 构 类 型 的 变 量) 。 ---- 2. ValidateRect Lib user32 (ByVal hw

文档评论(0)

海川电子书城 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档