第二十六节表单六.doc_第1页
第二十六节表单六.doc_第2页
第二十六节表单六.doc_第3页
第二十六节表单六.doc_第4页
第二十六节表单六.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学标题表单设计与应用 六 教学目标 1 掌握表格对象的常用属性及其应用 2 掌握计时器对象常用属性及其应用 3 掌握顶层表单的应用 4 掌握快捷菜单与表单的应用 教学重点 1 表格对象的常用属性及其应用 2 顶层表单的应用 教学难点 1 表格对象的应用 2 顶层表单的应用 教学过程 一 表格 grid 控件 表格是一个容器对象 表格也能包含列 这些列除了包含标头和控件外 每一个列还拥有自己的一组 属性 事件和方法程序 从而为表格单元提供了大量的控件 常用属性如下 1 recordsourcetype recordsource 属性 recordsourcetype 属性指明表格数据源的类型 recordsource 属性指定表格数据源 属性值属性值说明说明 0表 数据来源于由 recordsourse 属性指定的表 该表被自动打开 1 默认值 别名 数据来源于已打开的表 由 recordsource 属性指定该表的 别名 可加入数据环境中 2提示 运行时出现对话框 由用户根据提示选择表格数据源 3查询 数据来源于查询 由 recordsource 属性指定一个查询文件 4sql 语句 数据来源于由 recordsource 属性指定一条 sql select 语句 通常将 查询结果存入临时表中 这两个属性在设计时可用 在运行时可读写 都适用于表格 2 columncount 属性 用于设置表格中列的个数 3 表头对象常用属性 属性作用 caption列标题文本 alignment列标题文本的对齐方式 4 设置表格间记录指针的联动 即一个表格的记录随着另一表格的记录的变化 而变化 A 在数据环境中设置 1 将用到的表添加到数据环境中 并建立表之间的关系 由父表公共字段 托向子表公共字段 如有对话框弹出 单击 确定 即可 2 将建立好关系的表 托到表单上即可 B 用属性设置 1 在父表格上设置 relationalexpr 属性 设置关联表达式 通常与 childorder 属性值一致 2 在子表格上设置 childorder 属性 设置子表索引标识的名称 索引标识名和 主表中的关联表达式相对应 在子表格上设置 linkmarter 属性 设置与子表相关联的父表名 Eg1 制作一表单 如图所示 要求 当单击 仓库 按钮时 表格中显示仓库表的记录 当单击 职工 按钮时 表格中显示职工表的记录 当单击 订购单 按钮时 表格中显示订购单表的记录 命令按钮组的 click 事件如下 Do case Case thisform optiongroup1 value 1 Thisform grid1 recordsourcetype 0 Thisform grid1 recordsource 仓库 Case thisform optiongroup1 value 2 Thisform grid1 recordsource 职工 Case thisform optiongroup1 value 3 Thisform grid1 recordsource 订购单 Endcase 解析 题中要求根据选项按钮组中的选择 表格显示出相应的内容 选项按钮组搭配分支语句 do case 而表格显示记录 设置表格的 recordsourcetype 与 recordsource 属性 Eg2 制作如下一表单 组合框的 click 事件如下 Thisform grid1 recordsourcetype 4 thisform grid1 recordsource select 订购单号 订购日期 供应商 from 仓库 职工 订购单 供应商 where 仓库 仓库号 职工 仓库号 and 职工 职工号 订购单 职工号 and 订购单 供应商号 供应商 供应商号 and 仓库 仓库号 bo1 value and 职工 职工号 bo2 value into cursor temp 解析 本题主要考查的是表格与组合框的综合应用 查询与组合框内容一致的记录 可使用如下语句完成 select from where 字段名 bo1 value 根据题意 将查询的结果显示在表格中 可将表格的数据源类型 rowsourcetype 设置为 4 SQL 说明 最后 将这条 select 语句赋值给表格的 数据源属性 rowsource 即可 注 通常情况下 select 语句的结果存入临时表中 Eg3 制作如下一表单 要求如下 在文本框 1 中输入职工号 单击命令按钮后 在文本框 2 中显示该职工所在的仓库号 文 本框 3 中显示仓库所在的城市 在表格中显示该职工签订的订单信息 代码如下 tt alltrim thisform text1 value select 仓库 仓库号 城市 from 仓库 where 仓库号 in select 仓库号 from 职工 where 职 工号 tt into array arr thisform text2 value arr 1 thisform text3 value arr 2 thisform grid1 recordsourcetype 4 thisform grid1 recordsource select from 订购单 where 职工号 in select 职工号 from 职工 where 职工号 tt into cursor tem 解析 本题主要考查表格与文本框的应用 查询与文本框内容一致的记录 可使用如 下语句完成 Select from where 字段名 alltrim thisform textx value 与上题相同 将查询的内容显示在表格中 表格的数据源类型设置为 4 即可 Eg4 制作如下一表单 要求 表格 1 显示仓库表的记录 表格 2 显示职工表的记录 职工表的记录指针随着仓库 表的变化而变化 方法 1 将仓库表与职工表添加到数据环境中 并建立仓库表与职工表之间的联系 如子 表职工表中无索引 那么可由仓库表中的仓库号托向职工表中的仓库号 出现如 下对话框 单击 确定 按钮 系统会自动在职工表中建立索引 并建立起仓库表与职工 表的联系 如图所示 2 将仓库表 职工表的 recordsource 赋值为仓库 职工 解析 本题考查的是表格间记录指针联动的知识 此题采取 在数据环境设置 这一 方法 注 设置记录指针联动 即为建立表之间的临时联系 二 计时器 timer 控件 计时器 timer 提供计时功能 即每隔一段指定的时间就触发一次 timer 事件 即执 行一次 timer 事件中的命令 用于控制某些进程 1 常用属性如下 interval 计时间隔 单位为 ms 即毫秒 此属性值为 0 时 不产生 timer 事件 enabled 控制计时器是否启动 2 计时器的常用方法 Timer 事件 用于指定重复的操作 注 计时器控件在运行时是不可见的 所以在设计时 可把它放置在表单的任意位 置 Eg 制作如下一表单 实现文字闪烁 忽隐忽现 的效果 作法 首先 在表单的 load 事件中 定义一个公共变量 并赋值 Public s S 0 其次 将计时器的 interval 属性值设置为 150 即每隔 150 毫秒 触发一次 timer 事件 最后 在计时器的 timer 事件中输入 s s 1 if s 5 0 thisform label1 visible t else thisform label1 visible f endif 三 与菜单的应用 1 顶层表单 即将菜单与表单结合 步骤 1 建立一个菜单 1 设计菜单 2 显示 主菜单项 常规选项 选中 顶层表单 3 保存并生成菜单 2 建立一个表单 1 将表单的 showwindow 属性设置为 2 作为项层表单 2 在表单的 init 事件中运行菜单 命令为 Do 菜单文件名 mpr with this 菜单内部名称 3 在表单的 destroy 事件中释放菜单 命令为 Release menu 菜单内部名称 extended 2 为表单设置快捷菜单 1 建立一个快捷菜单 保存并生成 2 在表单的 rightclick 事件中输入 Do 菜单文件名 mpr 笔试题笔试题 上机题上机题 Eg1 制作带有滚动字幕的表单 如图所示 要求 标签中的字每隔 1 秒 向左移动 10 个点 如完全移去表单后 标签从表单右侧移入 代码如下 1 设置计时器的 interval 属性值为 1000 2 在计时器的 timer 事件中输入 Thisform label1 left thisform label1 left 10 If thisform label1 left thisform label1 width Thisform label1 left thisform width Endif Eg3 制作如下一表单 要求 标签自动显示当前系统时间 当单击 暂停 按钮时 时间暂停 当单击 开始 按钮时 时间继续显示 代码如下 1 计时器的 interval 属性值为 1000 计时器的 timer 事件代码为 thisform label1 caption time 2 暂停 按钮的 click 事件代码为 thisform timer1 interval 0 3 开始 按钮的 click 事件代码为 thisform timer1 interval 1000 Eg1 创建一个顶层表单创建一个顶层表单 myform scx myform scx 表单的标题为表单的标题为 考试考试 然后创建并在表单中 然后创建并在表单中 添加菜单 菜单的名称为添加菜单 菜单的名称为 mymenu mnx mymenu mnx 菜单程序的名称为菜单程序的名称为 mymenu mprmymenu mpr 效果如下图所示 效果如下图所示 菜单命令菜单命令 统计统计 和和 退出退出 的访问键分别为的访问键分别为 T T 和和 R R 功能都通过执行过程完成 功能都通过执行过程完成 菜单命令菜单命令 统计统计 的功能是以客户为单位 从的功能是以客户为单位 从 customercustomer 和和 ordersorders 表中求出订单金额表中求出订单金额 的和 统计结果包含的和 统计结果包含 客户号客户号 客房名客房名 和和 合计合计 三项内容 其中三项内容 其中 合计合计 是指与某是指与某 客户所签所有订单金额的和 统计结果应按客户所签所有订单金额的和 统计结果应按 合计合计 降序排序 并存放在降序排序 并存放在 tabletwotabletwo 表 表 菜单命令菜单命令 退出退出 的功能是释放并关闭表单 的功能是释放并关闭表单 最后 请运行表单并依次执行其中的最后 请运行表单并依次执行其中的 统计统计 和和 退出退出 菜单命令 菜单命令 注 注 数据源 Customer dbf 客户号 c 4 客户名 c 36 地址 c 36 所在城市 c 10 联系 电话 c 8 Employee dbf 职员号 c 3 姓名 c 6 性别 c 2 组别 n 1 0 职务 c 10 Orders dbf 订单号 c 4 客户号 c 4 职员号 c 3 签订日期 d 金额 n 6 2 作法 一 建立菜单 1 建立菜单文件 CREATE MENU mymenu 在 新建菜单 对话框中 单击 菜单 按钮 2 在 菜单设计器 mymenu mnx 中 在 菜单名称 中输入 统计 T 再 移到下一个菜单项处中输入 退出 R 3 选中 统计 T 菜单项 在 结果 中选择 过程 并单击 创建 在 菜 单设计器 mymenu mnx 统计 T 过程 中输入下列语句 select customer 客户号 客户名 sum 金额 as 合计 from orders customer where orders 客户号 customer 客户号 group by customer 客 户号 order by 合计 desc into table tabletwo 4 选中 退出 R 子菜单项 在 结果 中选择 过程 并单击 创建 在 菜单设计器 mymenu mnx 退出 R 过程 中输入下列语句 myform release 5 单击 显示 常规选项 菜单项 在 常规选项 对话框的 顶层菜单 框中 打勾 再单击 确定 按钮 6 在 菜单设计器 窗口下 单击 菜单 菜单栏 选择 生成 菜单项 生成 mymenu mpr 文件 二 建立表单 1 新建表单 CREATE FORM myform 2 在 表单设计器 中 在 属性 的Caption处输入 考试 在ShowWindow 处选择 2 作为顶层表单 双击Init Event事件 在Form1 Init中输入 do mymenu mpr with this xxx 双击Destroy Event事件 在Form1 Destroy中 输入 release menu xxx extended Eg2 建立表单 表单文件名和表单控件名均为建立表单 表单文件名和表单控件名均为 myform damyform da 为表单建立快捷菜单 为表单建立快捷菜单 scmenu d scmenu d 快捷菜单有选项快捷菜单有选项 时间时间 和和 日期日期 运行表单时 在表单上单击鼠标右键弹出 运行表单时 在表单上单击鼠标右键

温馨提示

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

评论

0/150

提交评论