可视化表单设计

上传人:max****ui 文档编号:23941503 上传时间:2021-06-13 格式:PPT 页数:71 大小:250.83KB
收藏 版权申诉 举报 下载
可视化表单设计_第1页
第1页 / 共71页
可视化表单设计_第2页
第2页 / 共71页
可视化表单设计_第3页
第3页 / 共71页
资源描述:

《可视化表单设计》由会员分享,可在线阅读,更多相关《可视化表单设计(71页珍藏版)》请在装配图网上搜索。

1、第 8章 可 视 化 表 单 设 计 8.1 面 向 对 象 编 程 简 介8.1.1 面 向 对 象 程 序 设 计 概 述面 向 对 象 程 序 设 计 ( OOP) : 将 客 观 事 物 称 为 对 象 ,对 对 象 的 抽 象 得 到 类 。面 向 对 象 程 序 设 计 的 主 要 工 作 有 两 部 分 :一 是 创 建 类 , 包 括 定 义 类 中 的 成 员 和 类 提 供 的 功 能( 即 方 法 )二 是 通 过 类 创 建 对 象 , 并 按 应 用 程 序 的 需 求 建 立 对 象之 间 的 协 同 工 作 能 力 。 OOP方 式 不 再 是 以 操 作 和 过

2、 程 作 为 程 序 设 计 的 中心 , 而 是 将 对 象 和 数 据 结 构 作 为 程 序 设 计 的 中 心 。 1.对 象 ( Object) 对 象 是 类 的 运 行 实 例 , 客 观 世 界 里 的 任 何 实 体 都 可以 被 看 作 是 对 象 。 对 象 可 以 是 具 体 的 事 物 , 也 可 以 指某 些 概 念 。 从 编 程 的 角 度 来 看 , 对 象 是 一 种 将 数 据 和 操 作 过 程结 合 在 一 起 的 数 据 结 构 , 或 者 是 一 种 具 有 属 性 ( 数 据 )和 方 法 ( 过 程 和 函 数 ) 的 集 合 体 。 事 实

3、上 程 序 中 的 对象 就 是 对 客 观 世 界 中 对 象 的 一 种 抽 象 描 述8.1.2对象与类的概念 2.属 性 : 对 象 所 具 有 的 特 征 被 称 为 对 象 的 属 性 。 每 个对 象 都 有 多 个 属 性 , 如 对 象 的 显 示 标 题 、 对 象 的 名 称 、对 象 的 前 景 色 背 景 色 、 对 象 的 文 本 大 小 等 。3.方 法 : 描 述 对 象 行 为 的 过 程 。 即 程 序 代 码4.事 件 : 是 一 种 由 系 统 预 先 定 义 而 由 用 户 或 系 统 发 出的 动 作 。 事 件 作 用 于 对 象 , 对 象 识

4、别 事 件 并 作 出 相 应反 应 。 事 件 集 是 固 定 的 , 用 户 不 能 定 义 新 的 事 件 。当 用 户 执 行 相 应 的 操 作 时 都 会 引 发 一 个 事 件 。5.类 : 类 是 一 种 对 象 的 归 纳 和 抽 象 , 是 对 一 类 相 似 对象 的 性 质 描 述 , 这 些 对 象 具 有 相 同 种 类 的 属 性 ( 变 量 )以 及 方 法 ( 函 数 ) 8.1.3对象与类的特性1.封 装 性 对 象 的 属 性 与 方 法 被 封 装 在 一 个 独 立 的 一 段源 代 码 中 , 对 其 中 的 数 据 的 访 问 必 须 通 过 方

5、法 实现 , 不 能 直 接 访 问 。2.层 次 性 类 具 有 层 次 性 , 在 一 个 类 的 基 础 上 通 过 添 加一 些 属 性 和 方 法 可 以 得 到 一 个 新 的 类 , 称 原 来 的类 为 基 类 或 父 类 , 产 生 的 新 类 为 派 生 类 或 子 类 。子 类 继 承 了 父 类 的 所 有 属 性 和 方 法 。 3.继 承 性 即 子 类 具 有 父 类 的 所 有 属 性 和 方 法 。 对 父 类 所 作的 修 改 会 被 子 类 自 动 继 承 。4.抽 象 性 用 户 对 对 象 进 行 操 作 时 , 可 忽 略 对 象 内 部 的 实 现

6、细 节 。5.多 态 性 同 一 类 的 对 象 可 以 有 不 同 的 表 现 形 式 。 8.1.4VisualFoxpro的基类 Visual FoxPro提 供 了 一 系 列 的 基 本 对 象 类 ,称 为 基 类 (Base Class)。 每 个 对 象 都 有 各 自 的 属性 和 方 法 。基 类 的 分 类 : 基 类 一 般 可 分 为 控 件 类 和 容 器 类控 件 类 : 该 类 的 对 象 必 须 作 为 一 个 整 体 来 访 问或 处 理 。 如 命 令 按 钮 和 文 本 框 等 。容 器 类 : 该 类 对 象 可 以 容 纳 控 件 类 对 象 , 可

7、 以单 独 对 其 中 的 组 件 进 行 修 改 和 操 作 。 如 表 单 、命 令 按 钮 组 、 页 框 等 。 1 控 件 类控 件 : 通 常 是 指 容 器 类 对 象 内 的 一 个 图 形 化 的 、并 能 与 用 户 进 行 交 互 的 对 象 。常 见 的 控 件 类 对 象 见 下 表控 件 中 文 名 称 控 件 中 文 名 称CheckBox 复 选 框 ListBox 列 表 框ComboBox 组 合 框 OLEBound OLE绑 定 型 控 件CommandButton 命 令 按 钮 OLEContainer OLE容 器 控 件OptionButton

8、选 项 按 钮 Shape 形 状Label 标 签 Spinner 微 调 按 钮EditBox 编 辑 框 TextBox 文 本 框 Image 图 像 Timmer 计 时 器Line 线 条 2 容 器 类常 见 的 容 器 类 对 象 见 下 表容 器 可 包 含 对 象Container( 容 器 ) 任 意 控 件FormSet( 表 单 集 ) 表 单 、 工 具 栏Form( 表 单 ) 任 意 控 件Grid( 表 格 ) 多 个 表 格 列Column( 列 ) 列 标 头 等PageFrame( 页 框 ) 多 个 页 面Page( 页 面 ) 任 意 控 件 、 容

9、 器 和 自 定 义 对 象CommandGroup( 命 令 按 钮 组 ) 命 令 按 钮OptionGroup( 选 项 按 钮 组 ) 选 项 按 钮 ToolBar( 工 具 栏 ) 任 意 控 件 、 页 框 和 容 器ProjectHook( 项 目 ) 文 件 与 服 务 程 序 一 个 对 象 被 创 建 后 , 对 对 象 的 操 作 主 要 是 访 问其 属 性 及 调 用 其 方 法 。 这 些 操 作 通 过 对 该 对 象 的 引 用进 行 。 其 基 本 格 式 为 : 对 象 引 用 . 属 性 对 象 引 用 . 方 法 其 中 对 象 引 用 分 为 绝 对

10、 引 用 和 相 对 引 用1.绝 对 引 用 从 最 顶 层 的 容 器 开 始 的 引 用 。 如 :FormSet1.Form1.CommandGroup1.Command.Enabled=.f.8.1.5对象的引用 2.相对引用引 用 时 使 用 下 面 关 键 字 的 引 用参 照 关 键 字 说 明Parent 当 前 对 象 的 直 接 容 器 对 象 即 其 父 类 对象this 当 前 对 象thisform 包 含 当 前 对 象 的 表 单thisformset 包 含 当 前 对 象 的 表 单 集 【 例 8.1】 对 象 的 相 对 引 用thisform.refr

11、eshthisform.Label1.Caption=你 好 , 信 息 世 界 this.value=3thisformset.form1.refreshthis.pqrent.text1.setfocus 8.2表单设计概述8.2.1 创 建 表 单 的 途 径1.使 用 表 单 向 导 创 建 表 单2.在 表 单 设 计 器 中 使 用 表 单 生 成 器 创 建 表 单3.使 用 表 单 设 计 器 创 建 表 单4.通 过 编 写 程 序 创 建 表 单打 开 表 单 设 计 器 的 方 法 :1.通 过 “ 文 件 /新 建 /表 单 /新 建 ”2.使 用 命 令 : crea

12、te form 表 单 文 件 名 8.2.2表单的修改与运行1.表 单 的 修 改( 1) 菜 单 方 式 : 通 过 文 件 菜 单 的 打 开 命 令( 2) 命 令 方 式 : modify form 表 单 文 件 名2.表 单 的 运 行( 1) 菜 单 方 式 打 开 表 单 后 使 用 工 具 栏 中 的 ! , 或 使 用 表单 菜 单 中 的 执 行 表 单 命 令( 2) 命 令 方 式do form 表 单 文 件 名 with 参 数 表说 明 : 参 数 是 传 给 Init事 件 代 码 中 的PARAMETERS或 LPARAMETERS中 的 参 数 。 8.

13、2.3常用表单事件与方法1.常 用 表 单 事 件 :( 1) Init事 件在 对 象 建 立 之 前 引 发 , 在 表 单 的 Init事 件 前 引 发( 2) Activate事 件当 一 个 表 单 、 表 单 集 或 页 面 成 为 当 前 活 动 对 象 时 引 发( 3) Destroy事 件在 控 件 对 象 释 放 时 表 单 对 象 的 Destroy事 件 之 前 引 发( 4) Load事 件在 表 单 对 象 被 创 建 之 前 即 Init事 件 之 前 引 发( 5) Unload事 件在 表 单 对 象 的 Destroy事 件 后 引 发( 6) Erro

14、r事 件 : 出 错 时 引 发( 7) GotFocus事 件 : 对 象 被 选 定 时 引 发 ( 8) Click事 件 : 单 击 时 引 发 2.常 用 表 单 方 法( 1) Relase方 法 : 将 表 单 从 内 存 中 释 放 。ThisForm.Release表 单 运 行 时 , 用 户 单 击 表 单 右 上 角 的 关 闭 按 钮 ,系 统 会 自 动 执 行 Relase方 法 。( 2) Refresh方 法 : 刷 新 表 单 。( 3) Show方 法 : 显 示 表 单 。 该 方 法 将 表 单 的Visible属 性 设 置 为 .T.。( 4) H

15、ide方 法 : 隐 藏 表 单 。( 5) SetFocus方 法 : 使 对 象 成 为 活 动 对 象 。 8.2.4 使 用 表 单 向 导 创 建 表 单1.创 建 单 表 表 单【 例 8-2】 使 用 表 单 向 导 创 建 一 个 可 维 护 职 工档 案 表 zgda.dbf的 表 单2.创 建 一 对 多 表 单【 例 8-3】 使 用 student表 和 borrow表 创 建 一 个一 对 多 表 单 8.3 表 单 设 计 器 的 使 用操 作 步 骤1.启 动 表 单 设 计 器 创 建 空 表 单2.指 定 数 据 源 ( 不 是 必 须 )3.添 加 控 件4

16、.设 置 控 件 属 性5.添 加 代 码6, 运 行 表 单 8.3.1 表 单 设 计 器 的 启 动8.3.2 表 单 设 计 工 具 栏通 过 “ 显 示 ” 菜 单 中 的 “ 工 具 栏 ” 命 令 可 打 开或 关 闭 工 具 栏 。1.表 单 设 计 器 工 具 栏2.表 单 控 件 工 具 栏3.布 局 工 具 栏4.属 性 窗 口5.代 码 窗 口 8.3.3 表 单 生 成 器在 表 单 设 计 器 中 通 过 下 面 方 法 之 一 可 以 打 开 表单 生 成 器 :1.单 击 “ 表 单 设 计 器 ” 工 具 栏 中 的 ” 表 单 生 成器 “ 按 钮 ”2.从

17、 快 捷 菜 单 中 选 择 “ 生 成 器 ” 命 令3.从 “ 表 单 ” 菜 单 中 选 择 “ 快 速 表 单 ” 命 令【 例 8-4】 使 用 “ 表 单 生 成 器 ” 快 速 生 成 一 个 职工 档 案 表 单 。 样 式 选 择 “ 新 奇 式 ” 8.3.4用表单设计器设计表单主 要 操 作 步 骤1.使 用 “ 文 件 /新 建 ” 命 令 新 建 一 个 空 表 单2.向 数 据 环 境 中 添 加 表 ( 当 表 单 中 要 使 用 表 时 )3.向 表 单 中 添 加 控 件 , 并 对 控 件 进 行 合 理 布 局4.选 择 控 件 , 修 改 控 件 的 属

18、 性5.为 命 令 按 钮 添 加 事 件 代 码6.运 行 表 单 【 例 8-5】 设 计 一 个 名 为 “ 身 分 验 证 ” 的 应 用 程序 的 密 码 输 入 对 话 框 。 要 求 用 户 输 入 的 密 码 字 符 自 动显 示 为 “ ” 。 密 码 正 确 , 显 示 “ 密 码 正 确 , 欢 迎 进行 本 系 统 ! ” , 否 则 , 显 示 “ 密 码 错 , 禁 止 进 行 本 系统 ! ” , 最 多 允 许 输 入 3次 密 码 。 要 点 : 1.使 用 表 单 完 成 , 表 单 中 要 添 加 : 一 个 标签 控 件 、 一 个 文 本 框 控 件

19、、 二 个 命 令 按 钮 2.修 改 控 件 的 属 性 : 控 件 上 显 示 的 文 字 , 文 本 框输 入 的 内 容 显 示 为 *号 3.要 给 命 令 按 钮 添 加 代 码 , 使 其 完 成 指 定 的 功 能 。 操 作 步 骤 : 1.创 建 空 表 单 , 2.向 表 单 中 添 加 控 件 ,3.修 改 控 件 的 属 性 , 4.添 加 代 码 控 件 的 属 性控 件 属 性 属 性 值Form1 Caption =dtoc(date()Label1 Caption 密 码 :Text1 PasswordChar *Command1 Caption 确 定Com

20、mand2 Caption 清 除 添加代码Form1对 象 的 Load事 件 代 码 :public ii=0Command2对 象 的 Click代 码 :thisform.text1.value=thisform.text1.setfocus Command1对 象 的 Click代 码 :i=i+1if i3 if thisform.text1.value=3721 messagebox(密 码 正 确 , 欢 迎 进 行 本 系 统 ! ) thisform.release else messagebox(密 码 错 , 重 新 输 入 ! ) thisform.text1.val

21、ue= thisform.text1.setfocus endifelse messagebox(密 码 错 , 禁 止 进 行 本 系 统 ! ) this.enabled=.f. endif 8.4 数 据 环 境 与 数 据 绑 定8.4.1 数 据 环 境 数 据 环 境 指 表 单 或 表 单 集 中 使 用 的 数 据 源 ,即 表 单 或 表 单 集 中 所 有 用 到 的 数 据 所 在 的 表 。1.启 动 “ 数 据 环 境 设 计 器 ” 通 过 表 单 设 计 器 工 具 栏 中 的 数 据 环 境 按 钮或 显 示 菜 单 中 的 “ 数 据 环 境 ” 命 令2.向

22、 数 据 环 境 添 加 表 或 视 图 使 用 快 捷 菜 单 中 相 应 命 令 添 加 3.在 数 据 环 境 中 设 置 关 系方 法 : 将 主 表 中 的 字 段 拖 动 到 子 表 中 的 相 应 索引 字 段 上 即 可 。8.4.2 数 据 绑 定 即 为 表 中 的 控 件 指 定 相 关 的 数 据 源 。 通 常由 控 件 的 ControlSource属 性 指 定8.4.3 向 表 单 添 加 字 段 直 接 将 数 据 中 的 字 段 拖 动 到 表 单 中 。 8.5常用表单控件8.5.1 标 签 与 命 令 按 钮1.标 签 用 于 显 示 静 态 文 本 (

23、 运 行 后 不 能 改 变 的 文字 ) , 一 般 用 于 提 示 。 文 本 内 容 保 存 在 Caption属 性 中 。标 签 的 主 要 属 性 有 :Caption,Autosize,Fontsize,Forecolor,BackStyle,BackColor,Name,Alignment 2.命令按钮 Caption属 性 内 容 为 命 令 按 钮 上 显 示 的内 容 。 添 加 命 令 按 钮 的 操 作 主 要 有 : 设 置Caption属 性 ( 后 面 加 E可 以 将 E设 置 为热 键 ) 和 输 入 代 码 ( Click事 件 ) 【 例 8-6】 设

24、计 一 个 简 单 表 单 , 含 一 个 显 示 “ 欢 迎 使 用档 案 管 理 系 统 ” 文 字 的 标 签 以 及 “ 进 入 ” 、 “ 退 出 ”两 个 命 令 按 钮控 件 属 性 事 件 属 性 值 ( 代 码 )标 签 控 件 Label1 Caption 欢 迎 使 用 档 案 管 理 系统Command1 Caption 进 入Command2 Caption 退 出 QCommand1 Click事件 thisform.releasedo form 身 分 验 证Command1 Click事件 thisform.release 1.文 本 框 (TextBox)和

25、编 辑 框 (EditBox)的 区 别相 同 之 处 : 都 可 以 由 用 户 直 接 输 入 数 据 与 编 辑数 据 , 输 入 的 数 据 保 存 在 Value属 性 中 。不 同 之 处 : 文 本 框 只 能 输 入 一 行 文 本 , 编 辑 框可 以 输 入 多 行 文 本 ( 有 滚 动 条 ) ; 文 本 框 可 以输 入 字 符 型 ( 默 认 类 型 ) 、 数 值 型 、 日 期 型 和逻 辑 型 数 据 , 而 编 辑 框 只 能 输 入 字 符 型 数 据 。要 使 得 文 本 框 中 输 入 的 数 据 为 某 一 确 定 的 类 型 ,必 须 先 设 置

26、其 Value属 性 值 为 该 类 型 的 数 据 或 通过 文 本 框 生 成 器 设 置 其 属 性 。8.5.2文本框和编辑框 添 加 文 本 框 和 编 辑 框 后 的 主 要 操 作 :1.设 置 框 中 的 默 认 值 : 在 Value属 性 中 设 置 , 设置 后 的 值 要 运 行 时 才 能 看 见 。2.右 击 文 本 框 控 件 或 编 辑 框 控 件 , 从 快 捷 菜 单中 选 择 “ 生 成 器 ” , 然 后 在 生 成 器 对 话 框 中 设置 其 格 式 及 与 其 对 应 的 字 段 等 。【 例 8-7】 设 计 一 个 如 图 8-21所 示 的

27、“ 日 期 与 时间 ” 表 单 , 只 含 一 个 文 本 框 , 逐 次 单 击 之 , 即可 轮 流 显 示 系 统 当 前 的 日 期 或 时 间 。 日 期 格 式为 年 月 日 , 日 期 分 隔 符 为 “ .” 操 作 步 骤1.通 过 “ 文 件 /新 建 ” 命 令 建 立 一 个 空 表 单2.向 表 单 中 添 加 一 个 文 本 框 控 件3.设 置 属 性 : 设 置 Form1的 Caption属 性 为 “ 日期 与 时 间 ”4.添 加 代 码 : 双 击 表 单 空 白 处 , 添 加 Form1的Load事 件 代 码 如 下 :public ii=.t.

28、 4.修 改 文 本 框 Text1的 属 性 :FontSize 为 28BackStyle 为 15.编 写 文 本 框 Text1的 Click事 件 代 码 如 下 :if i=.t.thisform.text1.value=date() &取 得 当 前 日 期thisform.text1.dateformat=12 &日 期 格 式 为 年 月 日thisform.text1.datemark=.i=.f.elsethisform.text1.value=time()i=.t.endif 【 例 8-7】 设 计 一 个 如 图 8-22所 示 的 表 单 ,在职 工 档 案 表

29、中 查 询 指 定 姓 氏 的 职 工 姓 名 , 并 将 结果 显 示 在 编 辑 框 中 。 操 作 要 点 :1.向 数 据 环 境 中 添 加 表2.创 建 表 单 , 并 添 加 2个 标 签 控 件 、 1个 文 本 框 控件 、 1个 编 辑 框 控 件 、 2个 命 令 按 钮 并 修 改 其 标 题属 性3.添 加 命 令 按 钮 的 Click事 件 代 码 。 其 中 查 找 按 钮的 代 码 主 要 功 能 是 在 表 中 查 找 与 文 本 框 中 输 入 的姓 氏 相 符 的 姓 名 , 并 将 其 累 加 到 编 辑 框 的 value属 性 中 。 set ex

30、act offthisform.text1.setfocus作 用 : 设 置 字 符 串 的 非 严 格 匹 配 并 将 光 标定 位 到 文 本 框 中 。执 行 时 间 : 当 表 单 激 活 时 执 行Form1的Activate事件代码 查询命令按钮代码thisform.edit1.value=xs=alltrim(thisform.text1.value)go topk=0scan for zgda.姓 名 =xsthisform.edit1.value= thisform.edit1.value+ zgda.姓 名 +chr(13)k=1endscanif k=0messageb

31、ox(职 工 表 中 无 此 姓 氏 ,0,查 找 失 败 )endifthisform.text1.value=thisform.text1.setfocus return 退出命令按钮代码release thisform 8.5.3列表框和组合框1.列 表 框 和 组 合 框 的 区 别共 同 之 处 : 列 表 框 (ListBox)和 组 合 框(ComboBox)都 有 一 个 供 用 户 选 择 的 列 表 。不 同 之 处 : 列 表 框 中 内 容 只 能 选 择 不 能 输 入 ,当 其 内 容 不 能 完 全 显 示 时 在 其 右 边 有 一 个 滚 动条 。 而 组 合

32、 框 则 可 进 行 输 入 操 作 ( Style属 性 必须 为 0) , 也 可 通 过 其 右 边 的 下 拉 按 钮 进 行 选 择 。 2.列 表 框 生 成 器 与 组 合 框 生 成 器列 表 框 与 组 合 框 控 件 的 主 要 操 作 是 添 加 列 表 内容 , 添 加 的 方 法 可 以 通 过 各 自 的 生 成 器 进 行 。3.列 表 框 与 组 合 框 的 数 据 源通 过 修 改 其 RowSourseType(列 表 内 容 的 来 源 类型 ) 和 RowSourse( 列 表 内 容 ) 属 性 使 其 与 表中 的 字 段 建 立 关 联 。 【 例

33、 8-9】 设 计 一 个 表 单 , 将 职 工 档 案 表zgda.dbf中 所 有 记 录 的 姓 名 显 示 在 一 个 列 表 框中 , 当 选 择 某 一 姓 名 后 , 将 选 择 的 姓 名 显 示 在一 个 文 本 框 中 。操 作 要 点 :1.建 立 一 个 空 表 单 , 然 后 添 加 一 个 标 签 控 件 、一 个 文 本 框 控 件 和 一 个 列 表 框 控 件2.向 数 据 环 境 中 添 加 表 zgda3.修 改 控 件 的 属 性标 签 控 件 的 Caption为 “ 姓 名 ”将 列 表 框 控 件 的 RowSourceType属 性 为 6 字

34、 段 ,RowSource属 性 为 zgda.姓 名 4.编 写 列 表 框 (List1)的InteractiveChange事 件 代 码 (交 互 式 改变 : 当 鼠 标 单 击 或 使 用 键 盘 的 移 动 键时 激 发 ) 如 下 :thisform.text1.value=this.value 8.5.4复选框与选项按钮组 复 选 框 (CheckBox)又 称 多 选 框 , 选 项 按 钮组 ( OptionGroup)又 称 单 选 框1.复 选 框 只 有 选 定 与 末 被 选 定 两 种 状 态 , 可 以 与 逻辑 型 字 段 建 立 关 联 ,选 择 Valu

35、e值 为 1逻 辑 型 字 段 值 为 .T.未 选 择 Value值 为 0逻 辑 型 字 段 值 为 .F. 复 选 框 有 三 种 不 同 的 外 观 : 方 框 、 文 本 按钮 和 图 形 按 钮 ( 1) 方 框 Style属 性 为 0, Caption属 性 值 为 复 选 框 右 边文 字 。( 2) 文 本 按 钮 Style属 性 为 1.Picture取 默 认 值 (无 )Caption属 性值 为 复 选 框 上 的 文 字 。 此 种 复 选 框 被 选 定 时 , 文本 按 钮 呈 按 下 状 态 。( 3) 图 形 按 钮 Style属 性 为 1.Pictu

36、re属 性 为 图 形 文 件 名 , 删 除Caption属 性 值 。 此 种 复 选 框 被 选 定 时 , 图 形 按钮 呈 按 下 状 态 。 2.选 项 按 钮 组单 选 按 钮 ( 选 项 按 钮 组 ) : 每 次 可 从 多 个 待 选 项 中 选择 其 中 一 个 。 可 以 通 过 生 成 器 设 置OptionGroup1.value的 值 为 组 中 按 钮 的 序 号 :OptionGroup1.value=1选 择 option1OptionGroup1.value=2选 择 option2单 选 按 钮 可 以 与 数 值 型 字 段 建 立 关 联 。方 法

37、: 在 属 性 窗 口 中 选 择 ControlSourse属 性 值 为 相 应的 数 值 型 字 段设 置 组 中 按 钮 的 个 数 : 设 置 其 BottonCount属 性 为 相 应的 数 字 , 然 后 将 Autosize属 性 设 为 .T. 【 例 8-10】 设 计 一 个 表 单 , 对 随 意 输 入 在 文 本 框中 的 文 字 , 可 选 择 不 同 的 字 体 进 行 显 示操 作 步 骤 :1.建 立 一 个 空 表 单2.添 加 2个 标 签 控 件 , 一 个 文 本 框 , 一 个 选 项 按钮 组 和 一 个 命 令 按 钮3.设 置 属 性 :

38、修 改 标 签 控 件 和 命 令 按 钮 的 Caption属 性 及 字 号 分 别 为 : 请 输 入 文 本 内 容 、 请 选 择 字体 、 关 闭 , 字 号 为 184.通 过 生 成 器 设 置 选 项 按 钮 组 : 数 目 设 置 为 4.标题 分 别 为 : 黑 体 、 宋 体 、 隶 书 和 楷 体 _2312 5.编 写 选 项 按 钮 组 OptionGroup1的 Click事 件 代 码 :DO CASECASE This.value=1 thisform.text1.fontname=黑 体 CASE This.value=2 thisform.text1.f

39、ontname=宋 体 CASE This.value=3 thisform.text1.fontname=隶 书 CASE This.value=4 thisform.text1.fontname=楷 体 _2312endcase6.编 写 Command1的 Click事 件 代 码 如 下thisform.release 8.5.5命令按钮组命 令 按 钮 组同 时 添 加 多 个 命 令 按 钮 , 按 钮 个 数 可 以 通 过BottonCount属 性 设 置 , 按 钮 的 名 称 可 以 通过 在 属 性 窗 口 中 选 择 各 个 按 钮 名 称( Command1.Com

40、mand2)后 设 置 其 Caption属性 【 例 8-11】 向 由 例 8-4建 立 的 表 单 添 加 三 个 命 令按 钮 , 其 作 用 分 别 是 : 上 页 、 下 页 、 退 出 即 单击 按 钮 后 将 显 示 : 上 一 条 记 录 、 下 一 条 记 录 或关 闭 表 单 。操 作 步 骤 :1.打 开 表 单2.添 加 一 个 命 令 按 钮 组3.打 开 命 令 按 钮 组 的 生 成 器 对 话 框 , 将 按 钮 数目 设 置 为 3.按 钮 标 题 分 别 为 上 页 、 下 页 、 退 出 ,在 布 局 中 设 置 按 钮 布 局 为 水 平 。 4.为

41、命 令 按 钮 组 (Commandgroup1)的 Click事 件编 写 代 码 :DO CASE CASE THIS.VALUE=1 go top mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. CASE THIS.VALUE=2 skip-1 mand3.enabled=.t. mand4.enabled=.t. if bof() mand1.enabled=.f. mand2.enabled=.f. endif CASE THIS.VALUE=3 skip mand1.enabled=.t

42、. mand2.enabled=.t. if eof() mand3.enabled=.f. mand4.enabled=.f. endif CASE THIS.VALUE=4 go bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.f. mand4.enabled=.f.endcasethisform.refresh DO CASE CASE THIS.VALUE=1 go top mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. C

43、ASE THIS.VALUE=2 skip-1 mand3.enabled=.t. mand4.enabled=.t. if bof() mand1.enabled=.f. mand2.enabled=.f. endif CASE THIS.VALUE=3 skip mand1.enabled=.t. mand2.enabled=.t. if eof() mand3.enabled=.f. mand4.enabled=.f. endif CASE THIS.VALUE=4 go bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.

44、f. mand4.enabled=.f.endcasethisform.refresh 8.5.7计时器计 时 器 (Timer)控 件 是 用 于 表 单 中 控 制 时 间 的 控件 。 计 时 器 在 运 行 时 不 可 见 , 使 用 计 时 器 控 件主 要 有 个 要 素 :Timer事 件 代 码 : 用 于 设 定 该 事 件 触 发 时 要 执 行的 动 作 。Interval属 性 : 表 示 触 发 Timer事 件 的 时 间 间 隔 ,单 位 为 毫 秒 。Enabled属 性 : 值 为 .T.时 启 动 计 时 器 , 为 .F.时终 止 。 【 例 8-12】

45、计 时 器 应 用 示 例 。 创 建 一 个 表 单 ,在 表 单 上 部 设 计 一 个 向 左 移 动 的 字 幕 , 在 表 单下 部 显 示 当 前 的 数 字 时 钟 。操 作 步 骤 :1.建 立 一 个 空 表 单 , 并 添 加 个 标 签 和 个 计时 器 控 件2.设 置 属 性 :Label1.caption=欢 迎 使 用 本 系 统 AutoSize=.T. FontSize=22 BackStyle=0Label2. AutoSize=.T. BackStyle=0Timer1.Interval=200 Timer2.Interval=1000 3.添 加 Tim

46、er1的 Timer事 件 代 码 如 下if thisform.label1.left+thisform.label1.width0 thisform.label1.left=thisform.label1.widthelse thisform.label1.left=thisform.label1.left-10endif添 加 Timer1的 Timer事 件 代 码 如 下 :if thisform.label2.caption!=time() thisform.label2.caption=time()endif 8.5.7表格表 格 (Grid) 控 件 可 用 来 在 表 单 或

47、 页 框 中 显 示 与修 改 数 据 表 中 的 记 录 。 表 格 由 若 干 行 和 若 干 列组 成 , 列 由 列 标 题 和 列 控 件 组 成 。1.由 数 据 环 境 创 建 表 格将 数 据 环 境 中 的 表 直 接 拖 动 到 表 单 中 即 可 。2.用 表 格 生 成 器 创 建 表 格在 表 单 中 创 建 了 表 格 后 , 使 用 表 格 生 成 器 可 设置 表 格 。 8.5.8页框页 框 (PageFrame):是 可 包 含 多 个 页 面 的 容 器 类控 件 , 主 要 用 于 建 立 具 有 多 个 选 项 卡 的 对 话 框 。页 框 的 主 要

48、 属 性 有 :PageCount: 页 框 中 所 包 含 的 页 面 的 个 数 。TabStyle: 页 框 中 的 选 项 框 是 平 均 分 布 (0)还 是在 左 边 (1)ActivePage:指 定 页 框 中 活 动 页 的 页 码 。TabStretch: 单 行 (1)或 多 行 (0)显 示 页 面 标 题 。 【 例 8-13】 页 框 应 用 示 例 。 设 计 一 个 包 含 两 个 页面 的 “ 职 工 信 息 查 询 ” 表 单 , 一 个 页 面 用 于 显 示查 询 到 的 职 工 的 基 本 信 息 , 另 一 个 页 面 用 来 显 示职 工 的 简

49、历 和 照 片 。 操 作 要 点 :1.创 建 一 个 空 表 单 , 向 表 单 中 添 加 标 签 控 件 、 文本 框 、 命 令 按 钮 和 页 框 控 件 各 1个2.向 数 据 环 境 中 添 加 表3.修 改 控 件 的 属 性 ( caption属 性 , 页 框 控 件 的pagecount属 性 为 2)4.编 辑 页 框 : 从 页 框 控 件 的 快 捷 菜 单 中 选 择 编 辑 。选 择 第 1个 页 框 , 将 数 据 环 境 中 的 相 应 字 段 拖 动到 页 框 中 , 对 第 2个 页 框 做 相 同 的 操 作 添加代码Form1的 Activate事

50、 件 代 码set exact onthisform.text1.setfocus command1的click事件代码cz=alltrim(thisform.text1.value)n=recno()go topscan for zgda.编 号 =cz or zgda.姓 名 =cz thisform.pageframe1.page1.refresh thisform.pageframe1.page2.refresh thisform.text1.setfocus returnendscanmessagebox(查 无 此 人 ! ,0,查 找 失 败 )go nthisform.text

51、1.value=thisform.pageframe1.page1.refreshthisform.pageframe1.page2.refresh thisform.text1.setfocusreturn 8.5.9ActiveX控件与ActiveX绑定控件 ActiveX控 件 就 是 符 合 ActiveX标 准 的 控 件 ,通 过 表 单 控 件 工 具 栏 中 的 按 钮 可 以 向 表 单 中 插入 ActiveX控 件 , 或 直 接 插 入 OLE对 象 。1. ActiveX控 件【 例 8-13】 创 建 一 个 电 子 日 历 表 单 用 于 日 历2. Active

52、X绑 定 控 件 该 控 件 可 用 于 显 示 数 据 表 中 的 通 用 型 字 段 中 的 内容 。 操 作 方 法 是 : 添 加 该 控 件 后 修 改 其ControlSource属 性 为 指 定 的 字 段 。 1.线 条 ( Line) 主 要 用 于 在 表 单 上 画 各 种 直 线 与 斜 线 , 其 主要 属 性 有 :Width 宽 度 Height 高 度BorderWidth 线 条 的 粗 细BorderColor 线 条 的 颜 色BorderStyle 线 条 的 风 格 : 实 线 、 虚 线 或 点 划 线LineSlant 线 条 的 倾 斜 情 况

53、 有 /和 两 种8.5.10 其他控件 2.形 状 (Shape) 用 于 绘 制 矩 形 、 正 方 形 、 圆 或 椭 圆 等 , 主要 属 性 有 :Curvature:曲 率 , 当 其 值 为 0时 绘 制 的 是 正 方 形或 矩 形 , 为 1到 99时 绘 制 的 是 圆 或 椭 圆Width: 宽 度 Height: 高 度当 宽 度 与 高 度 相 等 时 为 正 方 形 或 圆3.图 像 (Image) 用 于 在 表 单 上 添 加 由 图 像 文 件 生 成 的 图 像 , 图像 文 件 由 Picture属 性 指 定 4.容 器 (container) 容 器

54、控 件 可 以 包 含 多 个 不 同 类 型 的 控 件 ,并 把 它 们 当 作 一 个 整 体 处 理 。 向 容 器 中 添 加控 件 的 方 法 是 : 右 击 容 器 控 件 从 快 捷 菜单 中 选 择 编 辑 添 加 控 件 。 若 不 是 在 编 辑 状 态 下 添 加 的 控 件 , 则 不被 包 含 在 容 器 中 , 也 不 允 许 将 表 单 中 的 其 余控 件 复 制 到 容 器 中 。 5.超 级 链 接 控 件例 1.在 表 单 中 添 加 一 超 级 链 接 控 件 和 一 个 标签 控 件 ,2.设 置 标 签 控 件 的 Caption属 性 为 :校

55、园 网 主 页3.在 其 Click事 件 中 添 加 如 下 代 码 :thisform.hyperlink1.navigateto()设 置 Tab顺 序 : 选 择 显 示 菜 单 中 的 “ Tab键 次 序 ”后 在 表 单 中 按 序 单 击 6.微调控件(Spinner) 微 调 控 件 用 于 在 表 单 中 接 收 指 定 范 围 内 的 数 据其 主 要 属 性 有 :属 性 说 明value 微 调 控 件 的 当 前 值KeyboardHighValue 键 盘 输 入 数 值 的 上 限KeyboardLowValue 键 盘 输 入 数 值 的 下 限Spinner

56、HighValue 鼠 标 选 择 数 值 的 上 限SpinnerLowValue 鼠 标 选 择 数 值 的 下 限Increment 鼠 标 选 择 一 次 的 增 减 值 【 例 8-16】 设 计 一 个 可 实 现 用 微 调 控 件 来 控 制 标签 文 字 大 小 的 表 单 操 作 方 法 :1. 创 建 一 个 空 表 单 , 向 表 单 中 添 加 一 个 标 签 控件 、 一 个 微 调 控 件 和 一 个 命 令2. 修 改 标 签 控 件 的 Caption属 性 和 微 调 控 件 的 上 、下 限 及 增 减 值3. 编 写 微 调 控 件 的 Interact

57、iveChange事 件 代 码如 下 :thisform.label1.fontsize=this.value命 令 按 钮 的 Click事 件 代 码 : thisform.release 8.6表单集与多重表单8.6.1 表 单 集 表 单 集 ( FormSet) 是 将 多 个 表 单 放 在 同 一个 .scx文 件 中 。 其 操 作 方 法 是 :1. 创 建 一 个 新 表 单2. 执 行 “ 表 单 ” 菜 单 中 的 “ 创 建 表 单 集 ” 命 令3. 执 行 “ 表 单 ” 菜 单 中 的 “ 添 加 新 表 单 ” 命 令4. 在 不 同 的 表 单 中 插 入

58、 不 同 的 控 件 各 表 单 可 用 同 一 个 数 据 表 8.6.2多重表单1. 单 文 档 界 面 和 多 文 档 界 面单 文 档 界 面 : 应 用 程 序 窗 口 只 能 显 示 一 个 文 档 窗口 。 如 记 事 本多 文 档 界 面 : 应 用 程 序 窗 口 可 显 示 多 个 文 档 窗 口 。如 WORD2. 不 同 类 型 的 表 单( 1) 顶 层 表 单 : 适 用 于 单 文 档 应 用 程 序 , 可 作为 应 用 程 序 的 初 始 界 面 或 其 它 表 单 的 父 表 单( 2) 子 表 单 : 用 来 创 建 一 个 MDI应 用 程 序 窗 口3. 表 单 类 型 的 指 定 : 设 置 其 ShowWindows属 性

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!