第05讲 表单设计、菜单设计与应用程序开发.ppt_第1页
第05讲 表单设计、菜单设计与应用程序开发.ppt_第2页
第05讲 表单设计、菜单设计与应用程序开发.ppt_第3页
第05讲 表单设计、菜单设计与应用程序开发.ppt_第4页
第05讲 表单设计、菜单设计与应用程序开发.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第五讲 表单 菜单设计与应用程序开发 教学回顾 第3章VFP程序设计基础 3 1常量与变量 3 2表达式 3 3常用函数 3 4程序与程序文件 3 5程序的基本结构 3 6多模块程序 教学重点及难点重点 程序的建立和修改 程序的基本语句 基本结构 基本算法和基本设计方法 掌握多模块程序 过程和函数及子程序 及调用难点 程序的基本语句 基本结构 基本算法和基本设计方法 多模块程序及调用 课程内容提要 教学重点及难点重点 面向对象概念 表单的属性 表单的常用事件与方法 常用的表单控件的设计 菜单概念 下拉菜单和快捷菜单的设计难点 表单与控件的属性 常用事件与方法 下拉菜单和快捷菜单设计 第7章 表单设计与应用 7 1面向对象的概念 7 2VFP基类简介 7 3创建与运行表单 7 4表单设计器 7 5常用表单控件 第8章 菜单设计应用 8 1VFP系统菜单 8 2下拉式菜单设计 8 3快捷菜单设计 第10章 应用程序的开发与应用 系统开发步骤 连编应用程序 主程序设计 使用应用程序生成器 7 1面向对象的概念 结构化程序设计 基于求解过程来组织程序流程 在这种程序中 数据和施加于数据上的操作是分别设计的 以对数据进行操作的过程作为程序的主体 P177 在结构化程序设计方法中 程序设计人员把一个待求解的问题自顶向下进行分解 以便形成一个个相对简单 独立的子问题 然后用子程序或函数来解决这些子问题 用子程序或函数之间的数据通信来模拟这些子问题间的联系 最后把这些子程序或函数装配起来以形成解决问题的完整程序 面向对象程序设计 以对象作为程序的主体 对象是数据和施加在数据上的操作的封装体 封装在对象中的程序通过 消息 来驱动运行 P177 在面向对象的程序设计方法中 程序设计人员不是完全按过程对求解问题进行分解 而是按照面向对象的观点来描述问题 分解问题 最后选择一种支持面向对象方法的程序语言来解决问题 在这种方法中 设计人员直接用一种称之为对象的程序构件来描述客观问题中的实体 并用对象间的消息来模拟实体间的联系 用类来模拟这些实体间的共性 7 1面向对象的概念 对象 对象 Object 对象是客观世界中的一个实体 对象具有属性和方法 对象的属性描述了对象的状态 特征 对象的方法描述了对象的行为 事件 Event 是由外部实体作用在对象上的一个动作 经常作用在对象上的事件有 对象的创建 释放 收到其他对象或用户发来的消息 例如单击鼠标 移动鼠标或按下键盘上的某个键等 等 当作用在对象上的某个设定事件发生时 与该事件相联系的方法程序 当然假设对象的设计者设计了该程序并与对象一同封装 就运行并完成该程序的功能 面向对象就用这种机制来模拟对象对外部事件的反映并进而完成由外部事件序列所规定的功能 消息 Message 是描述事件发生的信息 如用户按下鼠标左键这一事件 则系统会产生一个WM LBUTTON消息 8 1 1面向对象的概念 类 类 Class 是具有相同属性特征和行为规则的多个对象的一种统一描述 类是一个数据模式和若干个程序过程 即方法程序 一般一种行为用一个程序过程来描述 经过封装而形成的一个整体 类与对象的关系 如果对每个客观事物实体 如每个学生 都一个个完全独立地设计程序对象 其工作量将会大得惊人 这实际上是不可能的和没有必要的 类是某一类型事物的统一描述 但在程序中不能直接使用类 必须通过对象将类实例化 或具体化 类的特性 抽象性 类抽象并隐蔽了对象的共有属性和操作 封装性 类是数据和操作的封装体 用户只能通过接口来访问对象中的数据和操作 继承性 类可以派生出子类 子类自动继承父类的属性和操作 多态性 类同一消息发送到不同对象 可以引起不同的操作 7 2VFP中的类与对象 基类 VFP的基类 BasicClass VFP基类是系统内含的 并不存放在某个类库中 P180表8 1 VFP的基类分成容器类和控件类 相应地 可以分别生成容器对象 P180表8 3 和控件对象 容器类可以包含其他对象 并且允许访问这些对象 例如 表单是一个容器类对象 其中可以加入列表框 编辑框 命令按钮等控件类对象 表8 3列出了每种容器类所能包含的对象 VFP基类又可分为可视类和不可视类 如计时器 7 2VFP中的类与对象 对象的引用 对象属性 对象方法 对象代词及意义 对象的命名规则 VFP帮助 参考 语言概述 语言分类 命名约定 7 2VFP中的类与对象 事件与方法 对象的事件 在面向对象方法中 事件是驱动蕴涵在对象中的程序的引擎 一个事件与一个事件响应程序 方法程序 相关联 当作用在一个对象上的事件发生时 与这个事件相关联的程序就获得一次运行 在一种程序设计语言中 每种对象所能识别的事件是固定的 也就是说 用户不能自己规定一个对象不能识别的事件并设计一段与该事件相联系的程序 这样即算该事件发生 由于对象不能识别 因而也就无法触发程序并使之运行 只能为已有的事件指定响应程序 但不能为对象添加新的事件 对象的事件只能从其父类中继承 对象对事件的反应 当作用在对象上的一个事件发生时 若没有与之相关联的代码 则不会发生任何操作 对于绝大多数事件 用户都不必编写代码 只需对少数几个事件设计响应程序即可 事件的响应程序段一般是一个过程 用事件的名称来命名 事件代码既能在事件引发时执行 也可以像方法一样被显式调用 表单 Form 在系统中是用户的主要界面 也有人把它称为屏幕 Screen 或窗口 但它不是一个普通的窗口 因为其中的控件可以有属性 事件和方法 并且表单和表单集本身也是有属性 事件和方法的编程对象 在VisualFoxPro系统中 表单拥有多个属性 可以响应多种事件 实现多种方法操作 表单为数据库信息的显示 输入和编辑提供了非常简便的方法 表单的设计是可视化编程的基础 表单的建立是一个全新的领域 在建立表单的过程中 要定义控件的属性 确定事件或方法的代码 在面向对象的程序设计中 两个最基本的可视对象类型是容器和控件 表单就是一个容器 它可以容纳多个控件 7 3创建与运行表单 表单概述 7 3 1利用表单向导创建表单 步骤 文件 新建 表单 向导 步骤1 选择数据库或数据表 选定字段 步骤2 选择表单样式 步骤3 选择排序字段 步骤4 完成 7 3 2用表单设计器建立表单 表单设计的基本步骤 P202 203 1 表单规划 2 打开表单设计器窗口 MODIFYFORM 3 为表单建立数据环境 4 在表单中加入其他对象并进行布局排列 5 设置表单对象的属性 6 设计事件代码 7 运行 修改表单 DOFORM 8 存盘退出 当表单死机 可在命令窗口使用此方法释放表单 application activeform release 7 3 3表单的运行 DOFORM 例1 欢迎表单 标签 图像和时钟控件 例2 主表单与主菜单 例3 学生管理系统 带数据环境 设置数据环境 将数据表中的字段拖到表单中 修改表单中对应控件的名称 控件名 字段名txtxsxh 标签改用中文名 字段用文本框TextBox 备注字段用多行编辑框EditBox 编写控件代码 如命令按钮CommandButton 调试控件响应 表单常用属性 P194 教材P205 和常用事件和方法 P196 教材P207 7 4 表单设计器 7 4 1 控件的操作与布局 7 4 2 控件Tab顺序 在交互方式下 设置Tab键次序的步骤如下 选择 显示 菜单中的 Tab键次序 命令或单击表单设计器工具栏上的 设置Tab键次序 按钮 进入Tab键次序设置状态 此时控件左上方出现深色小方块 称为Tab键次序盒 显示该控件的Tab键次序号码 双击某个控件的Tab键次序盒 该控件将成为Tab键次序中的第一个控件 按希望的顺序依次单击其他控件的Tab键次序盒 单击表单空白处 确认设置并退出设置状态 按Esc键 放弃设置 在列表方式下 设置Tab键次序的步骤如下 选择 显示 菜单中的 Tab键次序 命令或单击表单设计器工具栏上的 设置Tab键次序 按钮 打开 Tab键次序 对话框 列表框中按Tab键次序显示各控件 通过拖动控件左侧的移动按钮移动控件 改变控件的Tab键次序 单击 按行 按钮 将各控件在表单上的位置从左到右 从上到下自动设置各控件的Tab键次序 单击 按列 按钮 将各控件在表单上的位置从上到下 从左到右自动设置各控件的Tab键次序 7 4 3 数据环境 每一表单或表单集都包括一个数据环境 数据环境是一个对象 一个数据环境定义了表单或报表使用的数据源 它包含与表单相互作用的表或视图 以及表单所要求的表之间的关系 可以在 数据环境设计器 中直观地设置数据环境 并与表单一起保存 数据环境的设置 右击表单 选择 数据环境 或在表单init事件中设置 7 5常用的表单控件 教材P214 8 4 1标签控件 8 4 2命令按钮与命令按钮组控件 8 4 3文本框与编辑框控件 8 4 4复选框与选项按钮组控件 8 4 5微调控件 8 4 6列表框与组合框控件 8 4 7表格控件 8 4 8页框控件 8 4 9计时器控件 8 4 10其他控件 图形 OLE和ActiveX 使用控件可以提高人机交互能力利用控件工具栏能添加25种标准的控件表单中的控件分为两类 与表中数据绑定的控件不与数据绑定的控件在表单的 控件工具栏 中单击所需的控件按钮 在表单中单击或拖动按钮 把它调整到想要的大小 并设置其属性和事件响应代码 对于数据绑定型控件 设置其ControlSource属性或RecordSource属性 可使控件与表 视图 表的字段或视图字段中的数据相联系 8 4 1标签控件 Label 标签常用来显示表单中的各种说明或提示 被显示的文本在Caption属性中指定 称为标题文本 标签没有数据源 显示的文本不能在屏幕上直接修改 但可以在代码中通过重新设置Caption属性间接修改 标签的标题文本最多可包含的字符数是256个 标签具有自己的属性 方法和事件 能够响应绝大多数鼠标事件 可以使用TabIndex属性为标签指定一个Tab次序 但标签并不能够获得焦点 而是把焦点传递给Tab键次序中紧跟着标签的下一个控件 标签控件实例1 标签Label1的Click事件代码为 t ThisForm Label2 CaptionThisForm Label2 Caption ThisForm Label3 CaptionThisForm Label3 Caption t标签Label2的Click事件代码为 t ThisForm Label1 CaptionThisForm Label1 Caption ThisForm Label3 CaptionThisForm Label3 Caption t标签Label3的Click事件代码为 t ThisForm Label1 CaptionThisForm Label1 Caption ThisForm Label2 CaptionThisForm Label2 Caption t 例8 6表单中有3个标签 如图所示 当用鼠标单击任何一个标签时 其他两个标签的标题文本互换 标签控件实例2 3 4 例2 立体字的 欢迎 标签frm lblWelcome scx 例3 欢迎 标签的移动frm lblMove scx 单击表单触发计时器 由计时器事件Timer移动标签 右击表单 关闭计时器 停止移动 例4 标签内容的改变frm lblChange scx 单击表单 标签标题值为 VFP 右击表单 标签值为 欢迎 8 4 2命令按钮与命令按钮组控件 命令按钮 CommandButton 是常见的一种控件 由其派生的命令按钮对象在表单中随处可见 CommandButton控件常用来启动某个事件代码 以完成特定功能 命令按钮的常用事件 Click 当单击左键时发生的事件 这是最常用的一种事件 一般使用该事件编写代码来实现按钮对应的功能 RightClick 当单击右键时发生 Init 建立命令按钮对象时发生 Destory 从内存中释放命令按钮对象时发生 例1 加法计算器frm cmdAdd scx 例2 显示数据表中的记录frm cmdRecord scx 例3 向数据表中添加记录frm cmdAdRecord scx 8 4 2命令按钮常用属性 MessageBox 函数 调用MessageBox 在Windows中居中显示一个模式对话框 语法MessageBox CText NType CTitle Ctext 用户给定的对话框中的提示信息 Ctitle 对话框窗口的标题 缺省时标题为 MicrosoftVisualFoxPro nType 为任意整数 指定对话框中控件的类型 由对话框按钮类型 提示图标类型 缺省按钮3部分组成 当用户单击某按钮时 函数返回数值数据 返回值与按钮的对应关系如表8 3所示 例 nAnswer MESSAGEBOX 该记录找不到 重新查找 4 32 256 查找 8 4 3 1文本框控件 文本框TextBox txt 作用 用于接受用户单行输入数据 常用属性 8 4 3 1文本框控件 例1 利用文本框显示系统的日期 左击 和时间 右击 frm txtDateTime scx 例2 利用文本框输入口令frm txtPassWord scx 常用事件及举例 8 4 3 2文本框与编辑框控件 例 简单文本编辑器frm edtText scx 编辑框EditBox edt 控件 用于接受用户多行输入数据 常用属性及举例 8 4 4复选框与选项按钮组控件 复选框CheckBox chk 控件 用于接受用户对某些状态值的选择 常用属性 事件及举例 例 改变文本框中的字形frm check scx 常用事件 click 8 4 4复选框与选项按钮组控件 单选按钮Opg控件 用于接受用户对某些状态值单选 常用属性 事件及举例 常用事件 click 例 改变文本框中的字体和字号frm option scx 改变单选按钮的方向 单击选中单选按钮 右击选择生成器 再选择第二个页面框 布局 选择水平或垂直 8 4 5微调控件 略 微调Spinner spn 用于通过 微调 箭头来选择或直接输入数据 常用属性 事件及举例 常用事件及举例 略 8 4 6列表框与组合框控件 列表框ListBox lst 控件 用于提供一组选项 用户不能向其输入数据 但可以从中选择一项或多项数据 常用属性 8 4 6列表框与组合框控件 常用事件 方法及举例 常用事件 Click 鼠标单 左 击时发生 InteractiveChange 使用键盘或鼠标更改控件时发生 常用方法 AddItem 给RowSourceType属性为0的列表添加一项 RemoveItem 从RowSourceType属性为0的列表中删除一项 Requery 当RowSource中的值改变时更新列表 例 从学生表中显示选择的记录frm lst scx 8 4 7表格控件 表格Grid grd 用表格形式处理数据表中的数据 常用属性 事件及举例 常用事件 例 frm grd 例 frm grd list 8 4 9计时器控件 计时器Timer tmr 用于处理需用定时进行处理的事件 常用属性 事件及举例 常用事件 例1 欢迎 标签的移动frm lblMove scx 例2 数字时钟frm Timer scx 8 4 10其他 图像 控件 略 其他 图像 控件 常用属性 事件及举例 常用事件 8 8图与线 要在表单中显示图片等对象信息 可在表单中添加图像控件 ActiveX控件或ActiveX绑定控件 图像在表单中插入各种图形文件如 bmp jpg gif ico等 但不能与通用字段绑定Picture 要显示的图片文件名Stretch 图片填充方式0 剪裁 1 等比填充2 变比填充 ActiveX 控件 1 在表单中新建多种对象如Execl工作表 Word文档 各种图片等 2 将各种文件内容作为对象插入表单中 在表单中用创建对象的应用程序来激活该文件 3 将各种控件作为对象插入 4 不能与通用字段绑定Stretch 图片填充方式0 剪裁 1 等比填充2 变比填充 8 10页框 页框 控件可把多个不同格式的容器类对象封装在一个页框中 一个页框中可有多个页面 每个页面又可包含若干控件 因而页框扩展了表单的表面面积 可把页框想象为有多层页面的三维容器 只有最上层页面 或在页框的顶部 中的控件才是可见和活动的 页框 控件的主要属性 页框 包含多少页 每页所包含控件的属性等 课堂小结 8 4常用的表单控件 8 4 1标签控件 8 4 2命令按钮与命令按钮组控件 8 4 3文本框与编辑框控件 8 4 4复选框与选项按钮组控件 8 4 5微调控件 简 8 4 6列表框与组合框控件 8 4 7表格控件 8 4 8页框控件 略 8 4 9计时器控件 8 4 10其他控件 图形 OLE和ActiveX 简 教学重点及难点重点和难点 表单和控件的应用 第8章菜单设计与应用 8 1VFP系统菜单 8 2下拉式菜单设计 8 3快捷菜单设计 8 1菜单设计概述 菜单结构 结构 VisualFoxPro菜单系统一般是一个下拉式菜单 由一个条形菜单和一组弹出式菜单组成 其中条形菜单作为主菜单 弹出式菜单作为子菜单 当选择一个条形菜单时 激活相应的弹出式菜单 如图所示 作用 用户选择其中的某个选项时都会触发一定的动作 这个动作可以是以下3种情况中的一种 执行一条命令 执行一个过程或激活另一个菜单 8 1菜单设计概述 菜单设计步骤 规划与设计菜单系统 确定需要哪些菜单项 菜单项出现在界面的什么位置 哪些菜单要有子菜单 哪些菜单要执行相应的操作等 建立菜单项和子菜单 使用菜单设计器可以定义菜单标题 菜单项和子菜单 Modifymenu按实际要求为菜单系统指定任务 指定菜单所要执行的任务 例如 执行一条命令或一个程序 菜单建立好之后将生成一个以 mnx为扩展名的菜单文件和以 mnt为扩展名的菜单备注文件 利用已建立的菜单文件 生成扩展名为 mpr的菜单程序文件 菜单 生成运行生成的菜单程序文件 将菜单与表单相连 Do 运行菜单SETSYSMENUTODEFAULT 恢复系统菜单 8 2下拉式菜单设计 打开菜单设计器MODIFYMENU 建立菜单项和子菜单及指定菜单项对应的任务 命令 填充名 子菜单 过程 保存菜单定义 mnx和 mnt 指定菜单在顶层表单中 打开菜单设计器和菜单 显示 常规选项 选择顶层表单复选框生成菜单程序文件 mpr 菜单 生成运行生成的菜单程序文件 Do 8 2为顶层表单添加菜单 1 首先建立一个下拉式菜单文件 设计菜单时 在 常规选项 对话框中 选中 顶层表单 复选框 然后生成菜单程序文件 2 创建一个表单 将表单的ShowWindow属性值设为2 使该表单成为顶层表单 3 然后在表单的Init事件代码中添加如下代码 DO 菜单程序名 WITHTHIS T 其中 菜单程序名 指定被调用的菜单程序文件 其扩展名 mpr不能省略 例 SIS sismain prg 8 3快捷菜单设计 略 规划与设计快捷菜单系统 确定哪些菜单要执行相应的操作等 文件 新建文件 菜单 新建文件 快捷菜单在表单右击事件中响应快捷菜单命令 第10章应用程序的开发与生成 1 系统开发步骤2 连编应用

温馨提示

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

评论

0/150

提交评论