网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 数据库类-> Foxpro-> 在VFP中实现跟变式组合框及椭圆图形菜单

在VFP中实现跟变式组合框及椭圆图形菜单
作者:佚名 来源:InterNet 加入时间:2005-1-31
相关文章
  • 如何用VFP的dbf进行SQL Server 7.0 的分布式查询
  • VFP智能感应的二次开发
  • 在VFP5.0中实现中英文自动切换
  • VFP中实现在浏览器中运行应用程序方法
  • 在VFP中模拟动画
  • VFP表跟踪实现方法
  • 在VFP报表中实现每页打印指定记录数
  • 让VFP程序在浏览器中运行
  • 分发VFP应用时自动建立快捷方式
  • VFP右键功能
  • 相关书籍:
    目 前,Visual FoxPro 在 数 据 库 应 用 系 统 的 开 发 中 得 到 了 广 泛 的 应 用, 系 统 的 开 发 技 巧 和 注 意 事 项 受 到 人 们 的 关 注, 本 文 叙 及 的 两 个 编 程 技 巧, 实 现 非 常 简 单, 但 在 实 际 应 用 中 起 到 了 很 好 的 作 用。

    1 . 跟 变 式 组 合 框
        在 实 际 应 用 系 统 中, 常 常 采 用 下 拉 列 表 框 实 现 字 符 字 段 数 据 的 规 范 化 输 入, 并 且 往 往 一 个 数 据 表 中 会 有 多 个 这 样 的 数 据 字 段, 而 对 应 这 些 字 段 的 规 范 化 数 据 则 作 为 枚 举 数 据 统 一 放 在 一 个 枚 举 数 据 表 里 进 行 管 理。 这 就 出 现 一 个 问 题, 对 应 不 同 字 段 的 枚 举 数 据 有 宽 有 窄, 为 了 存 下 所 有 这 些 数 据, 枚 举 数 据 表 的 数 据 字 段 要 足 够 的 宽, 但 对 于 目 标 数 据 库 的 控 制 字 段, 显 然 要 根 据 业 务 对 数 据 的 要 求 和 节 省 空 间 的 考 虑, 将 字 段 设 计 成 合 适 的 宽 度。 对VFP 来 说, 若 列 表 数 据 宽 度 超 出 控 制 字 段 宽 度, 则 文 本 框 不 能 显 示 选 定 数 据, 这 一 点 常 常 被 编 程 者 忽 视, 而 造 成 提 交 给 用 户 的 程 序 不 能 正 常 运 行。 其 实 只 要 在 设 计 下 拉 列 表 框 时 稍 加 几 行 代 码 就 能 解 决 这 个 问 题, 并 且 还 能 实 现 下 拉 列 表 框 和 文 本 框 自 动 跟 随 控 制 字 段 的 宽 度 发 生 变 化, 使 对 象 宽 度 始 终 与 字 段 宽 度 一 致。
        假 设 控 制 数 据 表KZB.DBF 的 控 制 字 段 名 为A1, 实 际 应 用 系 统 中,A1 相 当 于 不 同 数 据 表 中 的 不 同 枚 举 字 段。 枚 举 表MJB.DBF 将 应 用 系 统 的 所 有 枚 举 数 据 集 中 管 理, 枚 举 表 最 少 包 括 两 个 字 段: 枚 举 数 据 和 枚 举 字 段 标 志, 这 里 的 枚 举 数 据 字 段 名 为CC, 枚 举 字 段 标 志 为MJBZ。 图1 为 控 制 表 字 段A1 宽 度 为10 的 情 况, 图2 为 控 制 表 字 段A1 宽 度 调 为26 的 情 况。 具 体 实 现 方 法 是: 先 在 表 单 的 数 据 环 境 中 添 加 控 制 表 和 枚 举 表, 在 组 合 框 的Init Event 方 法 中 加 入 如 下 代 码:

    KD=LEN(KZB.A1)
    THIS.WIDTH=31+6.3*KD
    SELE MJB
    CREAT CURSOR LS (CC C(KD))
    APPE FROM MJB FOR MJBZ=" 测 试"
    &&完成对应该字段的枚举数据筛选。
        一 般 一 个 系 统 的 枚 举 字 段 的 枚 举 数 据 总 计 不 过 几 百, 在INIT 中 创 建 游 标 是 不 会 影 响 速 度 的。 在 设 计 列 表 时, 要 在 组 合 框 的RowSource 处 标 写 游 标 名LS, 这 种 功 能 的 实 现 只 需 加 写 很 少 的 代 码, 但 却 在 实 际 应 用 中 起 到 了 很 好 的 作 用。
    2 . 椭 圆 图 形 菜 单
        在 应 用 系 统 中, 常 用 大 按 钮 作 为 子 系 统 的 启 动 按 钮,VFP 中 的 按 钮 一 般 为 矩 形, 这 里 介 绍 一 种 制 作 椭 圆 图 形 钮 式 菜 单 的 方 法。
        制 作 方 法: 先 在VFP 的 表 单 中 填 加 图 形 控 件SHAPE, 关 键 是 将SHAPE 的Curvature 属 性 值 设 为99, 这 将 使 控 件 形 状 由 矩 形 变 成 圆 或 椭 圆。 之 后, 将SHAPE 的BackStyler 设 置 为"0, 透 明",BorderWidth 属 性 设 置 为 合 适 的 宽 度, 如2~3, 使 放 在 其 底 部 的 图 形 能 很 好 的 与 其 吻 合, 椭 圆 图 形 的BorderColor 属 性 按 合 适 的 颜 色 进 行 设 置, 其 它 属 性 按 缺 省 值 设 置。 到 此, 我 们 设 计 好 了 透 明 的 椭 圆 图 形, 目 的 是 用 它 模 拟 一 个 按 钮, 实 现 点 击 椭 圆 内 部 发 生CLICK 事 件, 而 点 击 其 外 部 不 发 生CLICK 事 件。 下 一 步 是 要 在 椭 圆 图 形 的 下 面 放 置 一 个 合 适 的 图 片, 图 片 的 形 状 要 和 椭 圆 图 形 一 样, 同 样, 用 填 加 控 件 的 方 法 填 加 图 片 控 件Picture, 图 片 的BackStyler 设 置 为"0, 透 明", 再 设 置Picture 属 性 中 的 图 片 文 件 名。 调 整 图 片 的 位 置, 使 椭 圆 图 形 与 图 片 具 有 整 体 感。 为 了 模 拟 按 钮 的CLICK 动 作, 我 们 利 用 椭 圆 图 形 的MouseDown Event 方 法, 在 其 中 填 加 如 下 代 码:

    LPARAMETERS nButton, nShift, nXCoord, nYCoord
    H=THIS.LEFT+THIS.WIDTH/2
    K=THIS.TOP+THIS.HEIGHT/2
    A=THIS.WIDTH/2
    B=THIS.HEIGHT/2
    y1=k-b*SQRT(1-(nXCoord-h)^2/(a^2))
    y2=k+b*SQRT(1-(nXCoord-h)^2/(a^2))
    IF nYCoord > Y1.AND.nYCoord< Y2
        THIS.PARENT.LABEL5.VISIBLE=.T.
    &&点中椭圆内部
        THIS.PARENT.LABEL6.VISIBLE=.F.
    &&点中椭圆外部
            *DO FORM SUBFORM1
    &&下级表单
    ELSE
        THIS.PARENT.LABEL5.VISIBLE=.F.
            THIS.PARENT.LABEL6.VISIBLE=.T.
    ENDI
        当 用 鼠 标 点 击 椭 圆 内 部 时, 表 单 底 部 显 示" 你 点 中 了 按 钮 内 部"; 点 击 椭 圆 外 部 时, 表 单 底 部 显 示" 你 点 中 了 按 钮 外 部"。 此 段 代 码 可 以 实 现 点 击 鼠 标 左 键 激 活 下 级 表 单 的 功 能, 为 保 证 表 单 操 作 的 可 靠, 最 好 将 主 表 单 的WindowType 属 性 设 为"1- 模 式"。
        以 上 表 单 在 联 想P5/133 机 上 调 试 通 过。

    [文章录入员:nancy]

    相关文章
  • 如何用VFP的dbf进行SQL Server 7.0 的分布式查询
  • VFP智能感应的二次开发
  • 在VFP5.0中实现中英文自动切换
  • VFP中实现在浏览器中运行应用程序方法
  • 在VFP中模拟动画
  • VFP表跟踪实现方法
  • 在VFP报表中实现每页打印指定记录数
  • 让VFP程序在浏览器中运行
  • 分发VFP应用时自动建立快捷方式
  • VFP右键功能
  • 相关书籍:
    本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    Foxpro
    ACCESS
    MS SQL
    MySQL
    Oracle
    Foxpro
    PowerBuilder
    Sybase
    其它
    电脑教程阅读排行
    ·Visual FoxPro 9....
    ·VFP与Excel交互编程
    ·Visual Foxpro生成任...
    ·VFP访问外部数据源的几种方法
    ·为Visual FoxPro应用...
    ·如何用VFP的dbf进行SQL ...
    ·如何修复被破坏的Foxpro数据...
    ·用VFP6.0编写图片浏览器
    ·在VFP报表中实现每页打印指定记...
    ·利用Foxpro在网络环境下开发...