为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[应用]vb中幸免将重复项目添加到列表框控件中

2017-12-29 4页 doc 17KB 20阅读

用户头像

is_792768

暂无简介

举报
[应用]vb中幸免将重复项目添加到列表框控件中[应用]vb中幸免将重复项目添加到列表框控件中 VB中防止将重复项目添加到列表框控件中 csdn_VB中防止将重复项目添加到列表框控件中VB中防止将重复项目添加到列表框控件中 作者:谭翁 ---- Visual Basic 的 列 表 框 控 件 中 包 含项 目 的 列 表, 本 文 介 绍 如 何 检 查 列 表 中 项 目 是 否 已 经 存 在, 以 及 如 何 将 新 的 项 目 添 加 到列 表 框 控 件 中。 使 用SendMessage 函 数 搜 寻 重 复 的 项 目 ---- 在Visual ...
[应用]vb中幸免将重复项目添加到列表框控件中
[应用]vb中幸免将重复项目添加到列表框控件中 VB中防止将重复项目添加到列表框控件中 csdn_VB中防止将重复项目添加到列表框控件中VB中防止将重复项目添加到列表框控件中 作者:谭翁 ---- Visual Basic 的 列 表 框 控 件 中 包 含项 目 的 列 表, 本 文 介 绍 如 何 检 查 列 表 中 项 目 是 否 已 经 存 在, 以 及 如 何 将 新 的 项 目 添 加 到列 表 框 控 件 中。 使 用SendMessage 函 数 搜 寻 重 复 的 项 目 ---- 在Visual Basic 中 开 发 应 用 程 序 时, 可 以 使 用 列 表 框 控 件 来 创 建 一 个 项 目 的 列 表。 要 将 新 的 项 目 添 加 到列 表 中, 可 以 使 用AddItem 方 法, 该 方 法 不 能 自 动 地 报 告 在 列 表 框 控 件 中 是 否 有 重 复 的 信息 存 在, 所 以 必 须 在 将 新 项 目 添 加 到 列 表 之 前 首 先 检 查 一 下。 ---- 可 以 通 过 使用Windows 应 用 程 序 编 程 接 口(API) 的SendMessage 函 数 来 在 列 表 框 控 件 中 搜 寻 指 定 的 项目, 它 函 数 允 许 向 操 作 系 统 中 发 送 消 息。 在 本 文 的 例 子 里, 我 们 让SendMessage 函 数 往 列表 框 控 件 中 执 行 一 个LB_FINDSTRING 消 息。 ---- LB_FINDSTRING 消 息 允 许 在 一个 列 表 框 控 件 中 搜 索 同 目 标 字 符 串 相 匹 配 的 项 目。 该 消 息 的 第 一 个 参 数 是 希 望 进 行 的 搜索 类 型, 须 将 该 值 设 为0, 表 示 从 列 表 框 控 件 中 的 第 一 个 项 目 开 始 搜 索。 第 二 个 参 数 是 一个NULL 结 束 的 字 符 串, 它 是 实 际 希 望 搜 索 的 项 目。 ---- 如 果 该LB_FINDSTRING 消息 返 回 值-1, 则 表 明 在 列 表 框 控 件 中 没 有 找 到 目 标 字 符 串, 此 时 可 以 使 用AddItem 方 法 来将 新 的 项 目 添 加 到 列 表 框 控 件 中。 如 果 该 项 目 已 经 在 列 表 中 存 在, 则 可 以 简 单 地 显 示 一个 信 息 框 或 是 执 行 一 些 其 它 的 过 程, 来 通 知 用 户 一 个 重 复 的 项 目 已 经 在 列 表 框 控 件 中 存在。 样 例 程 序 ---- 该 程 序 显 示 了 如 何 确 定 在 一 个 列 表 框 控 件 中 是 否 已 经 包含 了 一 个 要 添 加 到 控 件 中 的 项 目。 ---- 1. 在Visual Basic 中 开 始 一 个 新 的 工程, 采 用 缺 省 的 方 法 建 立Form1。 ---- 2. 将 如 下 常 量 和 声 明 语 句 添 加 到Form1 的 通 用声 明 部 分 中( 注 意 该 声 明 语 句 需 要 被 写 在 一 行 内): ---- Private Declare Function SendMessageFind Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As String) As Long ---- Const WM_USER = &H400 ---- Const LB_ERR = (-1) ---- Const LB_FINDSTRING = &H18F ---- 3. 将 如 下 代 码 添 加到Form1 的Form_Load 事 件 中: Private Sub Form_Load() List1.AddItem "Item #1" List1.AddItem "Item #2" List1.AddItem "Item #3" List1.AddItem "Item #4" End Sub ---- 4. 在Form1 上 添 加 一 个文 本 框 控 件, 采 用 缺 省 的 方 法 建 立Text1。 ---- 5. 在Form1 上 添 加 一 个 列 表 框 控 件,采 用 缺 省 的 方 法 建 立List1。 ---- 6. 在Form1 上 添 加 一 个 命 令 按 钮 控 件, 采 用 缺 省 的方 法 建 立Command1, 将 起Caption 属 性 设 置 为“ 重 复”。 ---- 7. 将 如 下 代 码 添 加到Command1 的 单 击 事 件 中: Private Sub Command1_Click() CheckForDupes End Sub ---- 8. 创 建 一 个 新 的 名为CheckForDupes 的 函 数, 将 如 下 代 码 添 加 到 该 函 数 中: Sub CheckForDupes() Dim Ret As Long Dim A As String A = Text1.TEXT Ret = SendMessageFind(List1.hwnd, LB_FINDSTRING, 0, (A)) If Ret = LB_ERR Then List1.AddItem Text1.TEXT Else List1.ListIndex = Ret MsgBox " 重 复 项 目 , 不 能 被 添加 到 列 表 框 中", 16, " 错 误" End If End Sub ---- 按 下F5 键 来 执 行 本程 序。 在 列 表 框 控 件 中 有5 个 项 目。 在 文 本 框 控 件 中 键 入 一 个 新 的 项 目, 单 击 重 复 命 令 按钮。 程 序 将 在 列 表 框 控 件 中 搜 索 刚 刚 键 入 到 文 本 框 控 件 中 的 项 目。 如 果 该 项 目 未 被 找 到,则 程 序 将 把 该 项 目 添 加 到 列 表 框 控 件 中。 相 反, 如 果 该 项 目 已 经 在 列 表 框 中 存 在 了, 则 将显 示 出 一 个 信 息 框 以 通 知 项 目 已 经 存在。
/
本文档为【[应用]vb中幸免将重复项目添加到列表框控件中】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索