◤分类文摘

     

返回主页◎

 

创建自定义的光标

当 在 设 计 一 个 应 用 程 序 时,Visual Basic 允 许 程 序 员 将 许 多 控 件 的MousePointer 属 性 设 计 成12 个 预 先 定 义 好 的 鼠 标 光 标 之 一。 典 型 情 况 是 程 序 员 希 望 改 变 一 个 控 件 的MousePointer 属 性, 以 告 诉 程 序 的 用 户 有 某 种 类 型 的 行 为 被 进 行 了。 例 如, 沙 漏 光 标 被 用 来 指 示 一 个 消 耗 时 间 的 过 程。 另 外, 可 以 改 变 光 标 来 仅 仅 通 知 用 户 他 已 经 将 鼠 标 的 指 针 指 向 了 一 个 特 殊 的 控 件, 如 一 个 文 件 列 表 框。 要 做 到 这 些, 程 序 员 只 需 要 简 单 地 在Visual Basic 程 序 中 在 适 当 时 刻 改 变 该 控 件 的MousePointer 属 性 即 可。

---- 然 而, 有 些 程 序 员 或 许 会 希 望 显 示 一 个12 个 预 定 义 形 状 中 的 光 标 之 外 的 光 标。 本 文 说 明 如 何 创 建 一 个 不 同 的 鼠 标 指 针( 光 标), 包 括 为 一 个 没 有MousePointer 属 性 的 控 件 创 建 光 标。

改 变 光 标( 鼠 标 指 针) ---- 要 在Visual Basic 应 用 程 序 中 将 光 标( 鼠 标 指 针) 改 变 成 个 不 同 的 形 状, 可 以 添 加 代 码 来 改 变 希 望 监 视 的 控 件 的MouseMove 和DragOver 事 件。

---- MouseMove 事 件 所 包 含 的 代 码 用 于 触 发 该 控 件 的Drag 方 法。 当 鼠 标 在 被 选 中 的 控 件 上 移 动 的 时 候, 轮 流 显 示 新 的 鼠 标 指 针。 当 鼠 标 指 针 离 开 该 控 件 时, 则DragOver 事 件 被 触 发。 在Visual Basic 程 序 中, 可 以 重 新 复 位 此Drag 属 性, 以 便 以 前 的 鼠 标 指 针 能 够 被 再 次 显 示 出 来。 样 例 程 序

---- 下 面 的 程 序 实 现 当 鼠 标 指 针 移 动 到 一 个 文 件 列 表 框 控 件 上 时, 将 其 改 变 成 不 同 的 形 状。

  1. 在Visual Basic 中 开 始 一 个 新 的 工 程, 采 用 缺 省 的 方 法 建 立Form1。

  2. 在Form1 上 添 加 一 个 文 件 列 表 框 控 件, 采 用 缺 省 的 方 法 建 立File1。

  3. 将File1 控 件 的DragIcon 属 性 设 置 为 所 选 择 的.ICO 文 件。

  4. 将 如 下 代 码 添 加 到File1 的MouseMove 事 件 中:

---- Private Sub File1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


    File1.Drag 1       'icon on
End Sub

  1. 将 如 下 代 码 添 加 到Form1 的DragOver 事 件 中:

---- Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


    File1.Drag 0       'icon off
End Sub

---- 按 下F5 功 能 键 执 行 此 程 序。 得 到 的 运 行 结 果 是: 将 鼠 标 指 针 移 动 到 该 文 件 列 表 框 控 件 上 时, 程 序 将 把 所 选 中 的.ICO 文 件 作 为 缺 省 的 鼠 标 光 标; 将 鼠 标 指 针 离 开 该 控 件 时, 光 标 则 会 自 动 恢 复 为 缺 省 的 形 状。