37
第第第 第第第第 第第第 第第第第 5.1 5.1 第第第第第第第 第第第第第第第 创创创创创创创创创 创创创创创创创创创 创创创创创创创创创创创创创创创创创创创创MODIFY MENU < MODIFY MENU < 创创创 创创创 > 创创创创创创 创创创创创创 创创创创 创创创创 创创创创创 — 创创创创创创创创创创创创创创创创创创 创创创创创 — 创创创创创创创创创创创创创创创创创创 创创创创创创 创创创创创创创创创 创创创创创创 创创创创创创创创创 创创创创创创创 “创创”创创创创创创创 创创创创创创创 “创创”创创创创创创创 创创创创创创 创创 创创创创创创 创创 DO CD.MPR DO CD.MPR 创创创创 “创创”创创创创创创创创创 创创创创 “创创”创创创创创创创创创

第五章 菜单设计 5.1 下拉式菜单设计

  • Upload
    star

  • View
    155

  • Download
    7

Embed Size (px)

DESCRIPTION

第五章 菜单设计 5.1 下拉式菜单设计. 创建菜单的基本步骤 建立或打开菜单设计器: MODIFY MENU < 文件名 > 进行菜单设计 快速菜单 菜单设计器 — 设计并生成下拉式菜单与快捷菜单的工具 保存菜单定义:文件菜单的保存命令 生成菜单程序: “ 菜单 ” 菜单的生成命令 运行菜单程序:例如 DO CD.MPR 快速菜单 “ 菜单 ” 菜单的快速菜单命令. 菜单设计器 菜单项属性 菜单名称列:可定义访问键 结果列:命令、填充名称、子菜单、过程等 4 个选项 - PowerPoint PPT Presentation

Citation preview

Page 1: 第五章  菜单设计 5.1   下拉式菜单设计

第五章 菜单设计第五章 菜单设计5.1 5.1 下拉式菜单设计下拉式菜单设计

创建菜单的基本步骤创建菜单的基本步骤 建立或打开菜单设计器:建立或打开菜单设计器: MODIFY MENU <MODIFY MENU < 文件名文件名 >> 进行菜单设计进行菜单设计

• 快速菜单快速菜单• 菜单设计器 — 设计并生成下拉式菜单与快捷菜单的工具 菜单设计器 — 设计并生成下拉式菜单与快捷菜单的工具

保存菜单定义:文件菜单的保存命令 保存菜单定义:文件菜单的保存命令 生成菜单程序:“菜单”菜单的生成命令 生成菜单程序:“菜单”菜单的生成命令 运行菜单程序:例如 运行菜单程序:例如 DO CD.MPR DO CD.MPR

快速菜单 “菜单”菜单的快速菜单命令 快速菜单 “菜单”菜单的快速菜单命令

Page 2: 第五章  菜单设计 5.1   下拉式菜单设计

菜单设计器菜单设计器 菜单项属性 菜单项属性

菜单名称列:可定义访问键 菜单名称列:可定义访问键 结果列:命令、填充名称、子菜单、过程等结果列:命令、填充名称、子菜单、过程等 44 个选项 个选项 选项列:可定义快捷键 ,设定浅色菜单项 ,显示状态栏信息选项列:可定义快捷键 ,设定浅色菜单项 ,显示状态栏信息

菜单级组合框:菜单切换 菜单级组合框:菜单切换 插入栏按钮:提供系统菜单项 插入栏按钮:提供系统菜单项

““ 显示”菜单 显示”菜单 常规选项 常规选项 菜单选项 菜单选项

Page 3: 第五章  菜单设计 5.1   下拉式菜单设计

[[ 例例 5-25-2] ] 利用菜单设计器建立如图利用菜单设计器建立如图 5.95.9 所示的下拉式菜单所示的下拉式菜单 , , 并要求:并要求:(1) (1) 打印菜单包括“设备表”和“设备价格表”两个菜单项。打印菜单包括“设备表”和“设备价格表”两个菜单项。(2) (2) 数据维护菜单的“浏览记录”菜单项能用来打开一个设备浏览窗口 。数据维护菜单的“浏览记录”菜单项能用来打开一个设备浏览窗口 。

图 5.9 设备管理系统的下拉式菜单初始化代码初始化代码 :: CLEAR ALLCLEAR ALL CLEARCLEAR KEYBOARD '{Ctrl+F4}' && KEYBOARD '{Ctrl+F4}' && 关闭关闭 CommandCommand 窗口窗口 MODIFY WINDOW SCREEN TITLE 'MODIFY WINDOW SCREEN TITLE ' 设 备 管 理 系 统设 备 管 理 系 统 ' && ' && 设置菜单窗口标题设置菜单窗口标题 USE sbUSE sb““ 退出”代码退出”代码 :: USE USE MODIFY WINDOW SCREEN && MODIFY WINDOW SCREEN && 恢复恢复 VFPVFP 主窗口的标题 主窗口的标题 SET SYSMENU TO DEFAULT && SET SYSMENU TO DEFAULT && 恢复恢复 VFPVFP 系统菜单系统菜单 ACTIVATE WINDOW COMMAND && ACTIVATE WINDOW COMMAND && 恢复恢复 CommandCommand 窗口窗口

Page 4: 第五章  菜单设计 5.1   下拉式菜单设计

5.2 5.2 快捷菜单设计快捷菜单设计

调用程序:调用程序:* e5-3.prg* e5-3.prgCLEAR ALLCLEAR ALLPUSH KEY CLEAR && PUSH KEY CLEAR && 清除以前设置过的功能键清除以前设置过的功能键ON KEY LABEL RIGHTMOUSE DO e5-3.mpr ON KEY LABEL RIGHTMOUSE DO e5-3.mpr && && 设置鼠标右键为功能键设置鼠标右键为功能键 ,, 预置弹出式菜单预置弹出式菜单USE sbUSE sbBROWSE && BROWSE && 打开浏览窗口 打开浏览窗口 USE USE PUSH KEY CLEARPUSH KEY CLEAR

图 5.15 快捷菜单

Page 5: 第五章  菜单设计 5.1   下拉式菜单设计

第第 66 章 表单设计基础章 表单设计基础6.1 6.1 表单向导表单向导

打开向导选取对话框:在工具菜单的向导子菜单中选定表单命令。

图 6.1 向导选取对话框

Page 6: 第五章  菜单设计 5.1   下拉式菜单设计

单表表单向导与一对多表单向导单表表单向导与一对多表单向导

图 6.2 表单向导的字段选取

图 6.6 设备维护表单

图 6.8 一对多表单向导对话框的父表字段

图 6.11 部门设备维护窗口

Page 7: 第五章  菜单设计 5.1   下拉式菜单设计

6.2 6.2 表单设计器表单设计器 创建和运行表单的基本步骤创建和运行表单的基本步骤

打开表单设计器 打开表单设计器 MODIFY FORM MODIFY FORM 〈文件名〉〈文件名〉 对象操作与编码:表单设计器 ,数据环境设计器 ,表单控件工具栏 对象操作与编码:表单设计器 ,数据环境设计器 ,表单控件工具栏 保存表单保存表单 运行表单:例如 运行表单:例如 DO FORM SBQ DO FORM SBQ

快速创建表单:表单菜单的快速表单命令 快速创建表单:表单菜单的快速表单命令

图 6.12 显示快速表单的表单设计器,

数据环境设计器 , 表单控件工具栏等

Page 8: 第五章  菜单设计 5.1   下拉式菜单设计

图 6.14 表单控件工具栏中的按钮

Page 9: 第五章  菜单设计 5.1   下拉式菜单设计

6.3 6.3 面向对象的程序设计方法面向对象的程序设计方法 对象对象

控件控件 容器 容器

属性属性 事件事件 方法程序方法程序

图 6.16 属性窗口的组成

Page 10: 第五章  菜单设计 5.1   下拉式菜单设计

属 性 说 明 应用于Caption 指定对象的标题 ( 显示时标识对象的文本 ) 表单 , 标签 , 命令按钮等Name 指定对象的名字 ( 用于在代码中引用对象 ) 任何对象Value 指定控件当前状态 ( 取值 ) 文本框 , 列表框等ForeColor 指定对象中的前景色 ( 文本和图形的颜色 ) 表单 , 标签 , 文本框 , 命令按

钮等BackColor 指定对象内部的背景色 表单 , 标签 , 文本框 , 列表框

等BackStyle 指定对象背景透明否 ( 透明则背景着色无效 ) 标签 , 文本框 , 图象等BorderStyle 指定边框样式为无边框 , 单线框等 表单 , 标签 , 文本框等AlwaysOnTop 是否处于其它窗口之上 ( 可防止遮挡 ) 表单AutoCenter 是否在 VFP 主窗口内自动居中 表单ScaleMode 指定坐标单位 表单Closable 标题栏中关闭按钮是否有效 表单Controlbox 是否取消标题栏所有的按钮 表单 , 工具栏MaxButton 是否有最大化按钮 表单MinButton 是否有最小化按钮 表单Movable 运行时表单能否移动 表单WindowState 指定运行时是最大化还或最小化 表单AutoCloseTables 表单释放时是否关闭表或视图 , 默认为 .T. 数据环境AutoOpenTables 表单加载时是否打开表或视图 , 默认为 .T. 数据环境

表 6.3 属性选列

Page 11: 第五章  菜单设计 5.1   下拉式菜单设计

事 件 触 发 时 机

Load 创建对象前

Init 创建对象时

Activate 对象激活时

GotFocus 对象得到焦点时

Click 单击鼠标左键时

DblClick 双击鼠标左键时

MouseUp 释放鼠标键时

MouseDown 按下鼠标键时

KeyPress 按下并释放某键盘键时

Valid 对象失去焦点前

LostFocus 对象失去焦点时

Unload 释放对象时

表 6.4 VFP 部分常见事件表

方法程序一例: Refresh 方法程序 [Form.]Object.Refresh

功能 : 重画表单或控件 ,

并刷新所有的值。

Page 12: 第五章  菜单设计 5.1   下拉式菜单设计

对象引用对象引用 对象引用规则对象引用规则(1) (1) 通常用以下引用关键字开头通常用以下引用关键字开头 : : THISFORMSET THISFORMSET 表示当前表单集表示当前表单集 (( 表单集的概念参阅表单集的概念参阅 8.1.28.1.2 节节 )) THISFORM THISFORM 表示当前表单表示当前表单 THIS THIS 表示当前对象表示当前对象(2) (2) 引用格式引用格式 : : 引用关键字后跟一个点号引用关键字后跟一个点号 ,, 再写出被引用对象或者对象的属再写出被引用对象或者对象的属

性性 ,, 事件或方法程序。事件或方法程序。例如:例如:THIS.Caption && THIS.Caption && 本对象本对象 (( 表单或控件表单或控件 )) 的的 CaptionCaption 属性属性THISFORM.Cls && THISFORM.Cls && 本表单的本表单的 ClsCls 方法程序方法程序 ,, 清除表单中的图形和文清除表单中的图形和文

本本THISFORM.Command1.Caption THISFORM.Command1.Caption && && 本表单的本表单的 Command1Command1 命令按钮的命令按钮的 CaptionCaption 属性属性THIS.Command1.Click && THIS.Command1.Click && 本对象的本对象的 Command1Command1 命令按钮的命令按钮的 CliCli

ckck 事件事件(3) (3) 控件也可引用包含它的容器控件也可引用包含它的容器 ,, 格式为格式为 :: Control.Parent Control.Parent 其中其中 ControlControl 表示控件表示控件 , Parent, Parent 表示容器。表示容器。例如例如 THIS.Parent.Command1.Caption, THIS.Parent.Command1.Caption, 表示引用本对象的容器表示引用本对象的容器 (( 例如例如

表单表单 )) 的的 Command1Command1 命令按钮的命令按钮的 CaptionCaption 属性。属性。

Page 13: 第五章  菜单设计 5.1   下拉式菜单设计

编程方式设置属性值编程方式设置属性值属性值设置格式属性值设置格式 ::ObjectName.Property[=Setting]ObjectName.Property[=Setting]其中其中 SettingSetting 为要设置的属性值。为要设置的属性值。例如例如 ,, THIS.FontBold=.T. && THIS.FontBold=.T. && 本对象文本以粗体显示本对象文本以粗体显示 THIS.Parent.Caption = time() THIS.Parent.Caption = time() && && 本对象的容器的本对象的容器的 captioncaption 属性设置为当前时间属性设置为当前时间 [[ 例例 6-4] 6-4] 设计只含一个文本框控件的表单设计只含一个文本框控件的表单 (( 见图见图 6.17),6.17), 要求逐次单击文本框要求逐次单击文本框的内部能轮流显示当前日期与时间的内部能轮流显示当前日期与时间 ,, 试写出设计步骤。试写出设计步骤。 (1) (1) 创建表单:往命令窗口键入命令创建表单:往命令窗口键入命令 MODIFY FORM rqsj,MODIFY FORM rqsj,使显示使显示 rqsjrqsj 表单表单设计器窗口。设计器窗口。 (2(2)创建文本框)创建文本框 : : 单击表单控件工具栏中的文本框按钮单击表单控件工具栏中的文本框按钮 ,,然后单击然后单击 Form1Form1表单窗口内某处表单窗口内某处 ,,该处就会产生一个该处就会产生一个 Text1Text1 文本框控件。文本框控件。 (3) (3) 将表单的将表单的 CaptionCaption 属性改为“日期与时间”:单击表单窗口属性改为“日期与时间”:单击表单窗口 ,, 属性窗口属性窗口的组合框中便显示的组合框中便显示 Form1Form1 在属性列表中选定在属性列表中选定 CaptionCaption 属性属性在文本框中输入在文本框中输入日期与时间字样日期与时间字样 ,, 按回车键后表单窗口的标题栏就会显示这些文字。按回车键后表单窗口的标题栏就会显示这些文字。

Page 14: 第五章  菜单设计 5.1   下拉式菜单设计

(4) 表单的 Load 事件代码的设置 : 双击表单窗口打开代码编辑窗口在对象组合框中确定表单选项 ,并在过程组合框中确定 Load 事件选项在列表框中输入以下代码:

PUBLIC i && Load 事件在表单装入内存时触发 ,设置 I 为公共变量 (5) 文本框的 Click事件代码编写如下 : IF i=.T. && 变量 I 用于控制轮流显示 THISFORM.TEXT1.VALUE=DATE() && 本表单的文本框的值设置为当前日期 THISFORM.TEXT1.DateFormat=12 && 日期格式设置为年月日次序 THISFORM.TEXT1.DateMark="." && 年月日间隔符设置为点号 i=.F. && 触发 Click事件 I 值就变反 ELSE THISFORM.TEXT1.VALUE=TIME() && 本表单的文本框的值设置为当前时间 i=.T. && 触发 Click事件 I 值就变反 ENDIF

Page 15: 第五章  菜单设计 5.1   下拉式菜单设计

第第 77 章 表单控件设计章 表单控件设计7.1 7.1 输出类控件输出类控件

标签标签 (Label)(Label) 属性选介属性选介((1) 1) 使标签区域自动调整为与标题文本大小一致:可将使标签区域自动调整为与标题文本大小一致:可将 AutoSizeAutoSize属性设置为属性设置为 .T..T.。。(2) (2) 使标签的标题竖排:先将使标签的标题竖排:先将 WordWrapWordWrap属性设置为属性设置为 .T.,.T., 然后在水平方向压缩标签区域迫使文字换行。然后在水平方向压缩标签区域迫使文字换行。(3) (3) 使标签与表单背景颜色一致:将使标签与表单背景颜色一致:将 BackStyleBackStyle属性设置为属性设置为 0(0( 透明透明 ))(4) (4) 使标签带有边框:将使标签带有边框:将 BorderStyleBorderStyle属性设置为属性设置为 1(1(单选框单选框 )) 图象图象 (Image)(Image) 、线条、线条 (Line)(Line) 与形状与形状 (Shape) (Shape) 创建图象的步骤如下创建图象的步骤如下 : : 在表单上创建一个图象控件在表单上创建一个图象控件在属性窗口选定在属性窗口选定 PicturePicture属性属性 ,,并通过文本框并通过文本框右侧的对话按钮选定一个图象右侧的对话按钮选定一个图象 , , 该图象即显示在图象控件处。 该图象即显示在图象控件处。 线条控件用于在表单上画各种类型的线条线条控件用于在表单上画各种类型的线条 ,, 包括斜线、水平线和垂直线。包括斜线、水平线和垂直线。 形状控件用于在表单上画出各种类型的形状形状控件用于在表单上画出各种类型的形状 ,, 包括矩形、圆角矩形、正方形、圆角正方形包括矩形、圆角矩形、正方形、圆角正方形 ,,椭圆椭圆或圆。或圆。

表 7.3 形状控件的形状设置

Curvature Width 与 Height 相等 Width 与 Height 不等0 正方形 矩形

1-99 小圆角正方形→大圆角正方形→圆 小圆角矩形→ 大圆角矩形→ 椭圆

Page 16: 第五章  菜单设计 5.1   下拉式菜单设计

[[例例 7-17-1] ] 设计如图设计如图 7.17.1所示的应用程序封面所示的应用程序封面。。 (1) (1) 创建表单创建表单 FM.SCXFM.SCX。。 (2) (2) 在表单上创建标签和形状控件各在表单上创建标签和形状控件各 11个。个。 (3) (3) 设置属性:详见表设置属性:详见表 7.4 7.4 (4) (4) 将封面的文字置前于椭圆:选定将封面的文字置前于椭圆:选定 Label1,Label1, 然后在布局工具然后在布局工具栏中选定“置前”按钮。若已置前栏中选定“置前”按钮。若已置前 ,, 则该步骤可省。则该步骤可省。 (5) Form1(5) Form1的的 RightClickRightClick事件代码编写如下事件代码编写如下 :: THISFORM.Release && THISFORM.Release && 右击表单执行右击表单执行 ReleaseRelease方法程序方法程序 ,,从内存释放该表单从内存释放该表单

Page 17: 第五章  菜单设计 5.1   下拉式菜单设计

对 象 属 性 属 性 值 说 明Form1 Desktop .T. 表单设置在桌面上

WindowState

2 表单最大化

BorderStyle 0 取消表单边框TitleBar 0 取消表单标题栏Picture c:\vfp\gallery\graphics\tools.ico 表单贴若干 tools.ico 拼成的壁纸

Label1 Caption 汽车修理管理系统 封面文字AutoSize .T. Label1区域自动适应标题大小FontName 隶书 字体FontSize 36 文字大小FontBold .T. 粗体ForeColor 0,0,255 标题颜色为蓝色BackStyle 0 背景透明 ,不显示 Label1区域

Shape1

Curvature 99 为画椭圆 ,使圆角最大

BorderColor 255,255,0 边框颜色为黄色BackColor 0,255,255 背景颜色为青色

表 7.4 “ 封面”属性设置

Page 18: 第五章  菜单设计 5.1   下拉式菜单设计

7.2 7.2 输入类控件输入类控件 文本框文本框 (Text)(Text)

文本框的值文本框的值 ValueValue属性 属性 焦点 焦点

控件设置焦点方法程序格式:控件设置焦点方法程序格式: CControl.SetFocusontrol.SetFocus

获得焦点事件获得焦点事件 (GotFocus Event)(GotFocus Event) 失去焦点事件失去焦点事件 (LostFocus Even(LostFocus Even

t)t) 控件的数据绑定 控件的数据绑定

ControlSourceControlSource属性 属性 文本框生成器 文本框生成器 编辑框编辑框 (Edit)(Edit)

Page 19: 第五章  菜单设计 5.1   下拉式菜单设计

列表框列表框 (List)(List) 列表框生成器列表框生成器

[[例例 7-3] 7-3] 在列表框中填充在列表框中填充 SBSB 表的编号和表的编号和名称两个字段名称两个字段 ,,要求选定列表框的任一项要求选定列表框的任一项 ,,就能使文本框中显示编号字段值。就能使文本框中显示编号字段值。 (1) (1) 在表单中创建在表单中创建 11个列表框控件和个列表框控件和 11个文本个文本框控件。框控件。

(2) (2) 打开列表框生成器——在列表项选项卡的打开列表框生成器——在列表项选项卡的“用此填充列表”组合框中选定“表或视图中的“用此填充列表”组合框中选定“表或视图中的字段”选项——如图字段”选项——如图 7.4(a1)7.4(a1)所示所示 ,,通过对话按钮通过对话按钮选出选出 SBSB 表表 ,, 然后将编号和名称字段从可用字段列然后将编号和名称字段从可用字段列表添入选定字段列表中—按确定按钮。表添入选定字段列表中—按确定按钮。

(3) List1(3) List1的的 Interactive ChangeInteractive Change事件代码编写事件代码编写如下如下 ::

THISFORM.Text1.Value=THIS.Value THISFORM.Text1.Value=THIS.Value

&& && 将列表框选项值赋给文本框将列表框选项值赋给文本框

图 7.5 列表框选项

(a1)

Page 20: 第五章  菜单设计 5.1   下拉式菜单设计

表表 7.5 7.5 列表框、组合框控件的值源类型列表框、组合框控件的值源类型

组合框组合框 (Combo)(Combo) 下拉组合框下拉组合框 StyleStyle 属性值 属性值 00 下拉列表框 下拉列表框 StyleStyle 属性值属性值 1 1

控件值源的类型控件值源的类型

设置值 值源类型 说 明

0 无 缺省值 ,运行时用 AddItem 或 AddListItem 方法程序将数据分别填入列中

1 值 RowSource 设置逗号分隔的数据项来分别填充列

2 别名 RowSource设置表名 ,表由数据环境提供 ,用 ColumnCount确定字段数

3 SQL语句 RowSource设置 SQL SELECT 命令选出记录 ,并可创建一个临时表或表

4 查询 (.QPR) RowSource设置一个 .QPR 文件名

5 数组 RowSource设置数组名

6 字段 RowSource设置逗号分隔的字段列表 ,首字段有表名前缀 ,表来自数据环境

7 文件 在 RowSource设置路径 ,可用通配符或掩码 ,结果以目录与文件名填充列

8 结构 在 RowSource设置表名 , 结果以字段名来填充列

9 弹出式菜单 为与以前版本兼容而设

Page 21: 第五章  菜单设计 5.1   下拉式菜单设计

[[例例 7-47-4] ] 试用试用 BMDMBMDM 表的代码来修改表的代码来修改 SBSB 表的部门字表的部门字段。要求段。要求 SBSB 表在列表框显示表在列表框显示 , BMDM, BMDM 表在组合框显示;表在组合框显示;并且当列表框确定一个记录后并且当列表框确定一个记录后 ,, 便可用组合框的选项来替便可用组合框的选项来替代代 SBSB 表的部门字段值。表的部门字段值。 (1) (1) 在表单上创建在表单上创建 22个标签个标签 ,1,1个列表框和个列表框和 11个组合框。个组合框。 (2) (2) 在数据环境中添加在数据环境中添加 SBSB 表和表和 BMDMBMDM 。。 注意,若存在关联联线则将它取消。注意,若存在关联联线则将它取消。 (3) (3) 属性设置:见表属性设置:见表 7.77.7。。 (4) Combo1(4) Combo1的的 InteractiveChange InteractiveChange 事件代码编写如下:事件代码编写如下: THISFORM.LIST1.Refresh THISFORM.LIST1.Refresh && && 在组合框列表中选项并替代在组合框列表中选项并替代 SB.SB. 部门后更新列表框的显示部门后更新列表框的显示 (5) Form1(5) Form1的的 InitInit 事件代码编写如下:事件代码编写如下: THISFORM.Combo1.Enabled=.F. THISFORM.Combo1.Enabled=.F. && && 使初始时不能操作组合框使初始时不能操作组合框 ,, 只可在列表框先确定记录只可在列表框先确定记录 (6) List1(6) List1的的 InteractiveChange InteractiveChange 事件代码编写如下:事件代码编写如下: THISFORM.Combo1.Enabled=.T. THISFORM.Combo1.Enabled=.T. && && 列表框操作后即允许组合框操作列表框操作后即允许组合框操作 (7) List1(7) List1的的 InitInit 事件代码编写如下:事件代码编写如下: SET ORDER TO TAG SET ORDER TO TAG 编号 编号 && && 使列表按设备编号次序显示使列表按设备编号次序显示 (( 假定假定 SBSB 表中该索引标识已存在表中该索引标识已存在 ))

图 7.6 选项替代

Page 22: 第五章  菜单设计 5.1   下拉式菜单设计

对 象 属 性 属 性 值 说 明Form1 Caption 用 BMDM 表的代码来修

改 SB 表的部门在表单标题栏显示文本

Label1 Caption 请指定要修改的记录: 设置第 1个标签的显示文本AutoSize .T. 区域大小自动适应标题

Label2 Caption 请选供代入的部门号: 设置第 2个标签的显示文本AutoSize .T.

List1 RowSourceType

6 列表框值源类型:字段

RowSource sb.编号 ,名称 ,部门 数据环境中添加表后才能设置字段ColumnCount 3 列表显示 3列BoundColumn 1 第 1列作为 value属性值

Combo1

Style 2 组合框类型设置为下拉列表框

RowSourceType

2 组合框值源类型:别名

RowSource BMDM 数据环境中添加表后才能设置表名ColumnCount 2 列表显示 2个字段:代码与名称BoundColumn 1 第 1列作为 value属性值ControlSource SB.部门 指定从列表选定的项存入的位置

表 7.7 “ 用 BMDM 表修改 SB 表的部门”属性设置

Page 23: 第五章  菜单设计 5.1   下拉式菜单设计

[[例例 7-67-6] ] 在表单上创建在表单上创建 11 个组合框和个组合框和 11 个文本框个文本框 ,,要求如下:要求如下: (1) (1) 组合框的列表包含组合框的列表包含 SBSB 表的编号字段值。表的编号字段值。 (2) (2) 能在组合框中为其列表键入新选项。能在组合框中为其列表键入新选项。 (3) (3) 若选取组合框列表中的项若选取组合框列表中的项 ((也可以是刚添入的新选项也可以是刚添入的新选项 ),), 便能将它送便能将它送入文本框。入文本框。 假定组合框和文本框已在表单上创建假定组合框和文本框已在表单上创建 ((图略图略 ),),下面列出主要的属性和事件代码。下面列出主要的属性和事件代码。 (1) Combo1(1) Combo1属性设置属性设置 StyleStyle:: 0 (0 ( 默认值默认值 ,,表示组合框类型为下拉组合框表示组合框类型为下拉组合框 )) RowSourceType: 6 (RowSourceType: 6 (表示控件值源类型为字段表示控件值源类型为字段 )) RowSourceRowSource:: SB.SB.编号 编号 ((在数据环境中添加在数据环境中添加 SBSB 表后表后 ,, 就能在属性窗口选取字段就能在属性窗口选取字段 )) (2) Combo1(2) Combo1的的 KeyPressKeyPress 事件代码编写如下:事件代码编写如下: LPARAMETERS nKeyCode, nShiftAltCtrlLPARAMETERS nKeyCode, nShiftAltCtrl IF nKeyCode = 13 && IF nKeyCode = 13 && 按回车键则条件表达式返回按回车键则条件表达式返回 .T..T. IF This.ListIndex=0 && IF This.ListIndex=0 && 组合框列表中无此键入值返回组合框列表中无此键入值返回 .T.,.T., 才允许添加数据才允许添加数据 THIS.RowSourceType=0 && THIS.RowSourceType=0 && 控件值源类型设置为可用控件值源类型设置为可用 AddItemAddItem 方法程序添加数据方法程序添加数据 THIS.AddItem(THIS.DisplayValue) && THIS.AddItem(THIS.DisplayValue) && 键入值添入列表末尾键入值添入列表末尾 THIS.Value=THIS.DisplayValue && THIS.Value=THIS.DisplayValue && 使键入值立即成为列表中的选项使键入值立即成为列表中的选项 INSERT INTO \vfpex\sb(INSERT INTO \vfpex\sb(编号编号 ) VALUES(THIS.DisplayValue) ) VALUES(THIS.DisplayValue) && INSERT-SQL&& INSERT-SQL 命令在命令在 SBSB 表末尾添加一个记录表末尾添加一个记录 ,,并将键入值存入该记录的编号字段并将键入值存入该记录的编号字段 THIS.RowSourceType=6 && THIS.RowSourceType=6 && 恢复控件值源类型为恢复控件值源类型为 ""字段字段 "" ENDIFENDIF ENDIFENDIF (3) Combo1(3) Combo1的的 Interactive ChangeInteractive Change事件代码编写如下事件代码编写如下 :: THISFORM.Text1.Value=THIS.ValueTHISFORM.Text1.Value=THIS.Value

Page 24: 第五章  菜单设计 5.1   下拉式菜单设计

微调控件微调控件 (Spinner)(Spinner) 属性选介属性选介 (1) Value(1) Value :表示微调控件的当前值。:表示微调控件的当前值。 (2) KeyBoardHighValue(2) KeyBoardHighValue :设定键盘输入数值高限。:设定键盘输入数值高限。 (3) KeyBoardLowValue(3) KeyBoardLowValue :设定键盘输入数值低限。:设定键盘输入数值低限。 (4) SpinnerHighValue(4) SpinnerHighValue :设定按钮微调数值高限。:设定按钮微调数值高限。 (5) SpinnerLowValue(5) SpinnerLowValue :设定按钮微调数值低限。:设定按钮微调数值低限。 (6) Increment(6) Increment :设定按一次箭头按钮的增减数:设定按一次箭头按钮的增减数 ,,默认为默认为 1.001.00。若设置为。若设置为

1.50 1.50 则增减数为则增减数为 1.51.5 。。 (7) InputMask(7) InputMask :设置输入掩码。微调控件默认带两位小数:设置输入掩码。微调控件默认带两位小数 ,,若只要整数若只要整数

可用输入掩码来限定可用输入掩码来限定 ,, 例如例如 999999999999 表示表示 66位整数。若微调控件绑定到表的位整数。若微调控件绑定到表的字段字段 ,,则输入掩码位数不得小于字段宽度则输入掩码位数不得小于字段宽度 ,,否则将显示一串否则将显示一串 ** 号。号。

事件选介事件选介

(1) DownClick Event(1) DownClick Event :按微调控件的向下按钮事件。:按微调控件的向下按钮事件。 (2) UpClick Event(2) UpClick Event :按微调控件的向上按钮事件。:按微调控件的向上按钮事件。

Page 25: 第五章  菜单设计 5.1   下拉式菜单设计

7.37.3 控制类控制类控件控件 命令按钮命令按钮 (Command)(Command) [[ 例例 7-7] 7-7] 设计一个如图设计一个如图 7.87.8 所示的密码输入窗口所示的密码输入窗口 , , 要求最多允许输入要求最多允许输入 33 次密码。次密码。 (1) (1) 创建一个表单创建一个表单 ,, 然后在其中创建标签和文本框各然后在其中创建标签和文本框各 11 个个 ,, 命令按钮命令按钮 22 个。个。 (2) (2) 属性设置:见表属性设置:见表 7.87.8 。。 (3) Form1(3) Form1 的的 LoadLoad 事件代码编写如下:事件代码编写如下: public i && ipublic i && i 用于计算输入次数用于计算输入次数 i=0i=0 (4) Command1(4) Command1 的的 ClickClick 事件代码编写如下:事件代码编写如下:

i=i+1i=i+1IF THISFORM.Text1.Value='123456' && IF THISFORM.Text1.Value='123456' && 文本框输入值与文本框输入值与 123456(123456( 预置的密码预置的密码 ))

比较比较 THISFORM.Release && THISFORM.Release && 本表单从内存释放本表单从内存释放ELSEELSE IF i<3 && IF i<3 && 允许输入允许输入 33 次次 MESSAGEBOX('MESSAGEBOX(' 密码错密码错 ,, 请重新输入请重新输入 !')!')THISFORM.Text1.Value='' && THISFORM.Text1.Value='' && 为重新输入清空文本框为重新输入清空文本框 THISFORM.Text1.Setfocus && THISFORM.Text1.Setfocus && 使文本框获得焦点使文本框获得焦点 ,, 就是使光标在其中闪烁就是使光标在其中闪烁 ELSEELSE MESSAGEBOX('MESSAGEBOX(' 密码错密码错 ,, 禁止进入系统禁止进入系统 !')!') THISFORM.ReleaseTHISFORM.Release ENDIFENDIFENDIF ENDIF

Page 26: 第五章  菜单设计 5.1   下拉式菜单设计

图 7.8 输入密码表单窗口

对 象 属 性 属 性 值 说 明Form1 Caption =DTOC(DAT

E())表单标题栏显示当前日期

Label1 Caption 密码: 设置标签的显示文本Text1 PasswordCha

r* 设置占位符 ,输入任何字符都显示它

Value (无 ) 清空文本框 ,否则初始时会显示占位符Command

1Caption 确定 设置命令按钮的标题文本

Command2

Caption 取消

表 7.8 “ 密码输入”属性设置

(5) Command2(5) Command2 的的 ClickClick 事件代码编写如事件代码编写如下:下: THISFORM.ReleaseTHISFORM.Release

Page 27: 第五章  菜单设计 5.1   下拉式菜单设计

命令按钮组命令按钮组 (Commandgroup)(Commandgroup) 命令按钮组生成器命令按钮组生成器 ClickClick 事件的判别 事件的判别

例如图 7.11中, Commandgroup1Commandgroup1的的 ClickClick事件代码编写如下:事件代码编写如下: DO CASEDO CASE CASE THIS.Value =1 && CASE THIS.Value =1 && 单击单击 Command1Command1 命令按钮命令按钮 (( 下页下页 )) 返回返回 .T..T. IF recno()<reccount() && IF recno()<reccount() && 防止下移出界防止下移出界 SKIP SKIP ENDIFENDIF THISFORM.RefreshTHISFORM.Refresh CASE THIS.Value =2 && CASE THIS.Value =2 && 单击单击 Command2Command2 命令按钮命令按钮 (( 上页上页 )) 返回返回 .T..T. IF RECNO()>1 && IF RECNO()>1 && 防止上移出界防止上移出界 SKIP -1SKIP -1 ENDIFENDIF THISFORM.Refresh THISFORM.Refresh CASE THIS.Value =3 && CASE THIS.Value =3 && 单击单击 Command3Command3 命令按钮命令按钮 (( 退出退出 )) 返回返回 .T. .T. THISFORM.Release && THISFORM.Release && 表单从内存释放表单从内存释放 ENDCASEENDCASE

图 7.9 命令按钮组生成器的按钮选项卡 图 7.11 “ 修改 SB ”表数据 表单窗口

Page 28: 第五章  菜单设计 5.1   下拉式菜单设计

复选框复选框 (Check)(Check) 复选框的值复选框的值

ValueValue 属性:属性: 00或或 .F..F. 表示清除;表示清除; 11 或或 .T..T. 表示选定;表示选定; 22 表示灰色状态。其中数字为默认值。表示灰色状态。其中数字为默认值。

选项按钮组选项按钮组 (Optiongroup)(Optiongroup) 选项按钮的选项按钮的 ValueValue 属性:属性: 11 表示选定表示选定 ,0,0表示未选定。表示未选定。 选项按钮组的选项按钮组的 ValueValue 属性:表明被选定按钮的序号属性:表明被选定按钮的序号 ,,默认为默认为 11 。例如第。例如第 22 个按钮被选定时个按钮被选定时

ValueValue 值为值为 22 。。 选项按钮组生成器选项按钮组生成器

[例 7-11] 设计一个能编辑或浏览关于设备的 4 个数据库表的对话框 , 界面要求如图 7.12所示。 (1) 在表单上创建 1个复选框和 2个命令按钮。 (2) 数据环境设置:在数据环境中添加 SB 表 ,BMDM 表 ,DX表和 ZZ表。

图 7.12 选表编辑或浏览

对象名 属 性 属 性 值Form1 Caption 数据库表维护Label1 Caption 选表:Check1 Caption 编辑Command1 Caption 确定Command2 Caption 退出Optiongroup1 Value 1

表 7.12 “ 选表编辑或浏览”部分属性设置

Page 29: 第五章  菜单设计 5.1   下拉式菜单设计

(3) (3) 创建选项按钮组创建选项按钮组 Optiongroup1Optiongroup1:先在表单上创建一个选项按钮组,然后再利用选项按钮组生:先在表单上创建一个选项按钮组,然后再利用选项按钮组生成器进行设置。成器进行设置。

① ① 打开选项组生成器对话框:用表单控件工具栏的选项按钮组按钮在表单中创建一个选项按钮组,打开选项组生成器对话框:用表单控件工具栏的选项按钮组按钮在表单中创建一个选项按钮组,右击选项按钮组并选定快捷菜单的生成器命令。右击选项按钮组并选定快捷菜单的生成器命令。

② ② 在按钮选项卡在按钮选项卡 ((参阅图参阅图 7.9)7.9) 中进行设置:在微调控件中将按钮的数目置为中进行设置:在微调控件中将按钮的数目置为 44将表格标题列中将表格标题列中44 项依次改为设备表、部门表、大修表和增值表。项依次改为设备表、部门表、大修表和增值表。

③ ③ 在布局选项卡中进行设置:将微调控件按钮间隔置为在布局选项卡中进行设置:将微调控件按钮间隔置为 1010 按确定按钮关闭选项组生成器对话框按确定按钮关闭选项组生成器对话框将选项按钮组移到表单左部适当位置。将选项按钮组移到表单左部适当位置。

(4) (4) 对其它控件的属性进行设置:见表对其它控件的属性进行设置:见表 7.127.12 。。 (5) Optiongroup1(5) Optiongroup1的的 ClickClick 事件代码编写如下:事件代码编写如下: DO CASEDO CASE CASE THIS.Value =1 && CASE THIS.Value =1 && 选定选定 Option1Option1选项按钮选项按钮 ((设备表设备表 ))时返回时返回 .T..T. SELECT SB && SELECT SB && 选择选择 SBSB 表所在工作区表所在工作区 CASE THIS.Value =2 && CASE THIS.Value =2 && 选定选定 Option2Option2选项按钮选项按钮 ((部门表部门表 ))时返回时返回 .T..T. SELECT BMDM && SELECT BMDM && 选择选择 BMDMBMDM 表所在工作区表所在工作区 CASE THIS.Value =3 && CASE THIS.Value =3 && 选定选定 Option3Option3选项按钮选项按钮 (( 大修表大修表 ))时返回时返回 .T..T. SELECT DX && SELECT DX && 选择选择 DXDX表所在工作区表所在工作区 CASE THIS.Value =4 && CASE THIS.Value =4 && 选定选定 Option4Option4 选项按钮选项按钮 (( 增值表增值表 ))时返回时返回 .T..T. SELECT ZZ && SELECT ZZ && 选择选择 ZZZZ 表所在工作区表所在工作区 ENDCASEENDCASE (6) Command1(6) Command1的的 ClickClick 事件代码编写如下:事件代码编写如下: * * 确定确定 IF THISFORM.Check1.Value=1 && Check1IF THISFORM.Check1.Value=1 && Check1 被选定时返回被选定时返回 .T..T. BROWSE && BROWSE && 可编辑数据可编辑数据 ELSE && ELSE && 若若 Check1Check1 未选定未选定 BROWS NOMODIFY NOAPPEND NODELETE && BROWS NOMODIFY NOAPPEND NODELETE && 仅可浏览仅可浏览 ,, 不可编辑不可编辑 ENDIFENDIF (7) Command2(7) Command2的的 ClickClick 事件代码编写如下:事件代码编写如下: * * 退出退出 THISFORM.Release && THISFORM.Release && 表单释放表单释放

Page 30: 第五章  菜单设计 5.1   下拉式菜单设计

7.4 7.4 容器类控件容器类控件 表格表格 (Grid) (Grid)

表格的组成表格的组成(1) (1) 表格表格 (Grid)(Grid) :由一或若干列组成。:由一或若干列组成。(2) (2) 列列 (Column)(Column) :一列可显示表的一个字段:一列可显示表的一个字段 ,, 列由列标题和列控件组成。列由列标题和列控件组成。(3) (3) 列标题列标题 (Header1)(Header1) :默认显示字段名:默认显示字段名 ,, 允许修改。允许修改。(4) (4) 列控件列控件 (( 例如例如 Text1)Text1) :一列必须设置一个列控件:一列必须设置一个列控件 , , 列控件默认为文本框。列控件默认为文本框。 创建表格控件 创建表格控件

在数据环境中将表窗口的标题栏拖放到表单窗口 在数据环境中将表窗口的标题栏拖放到表单窗口 利用表格生成器创建 利用表格生成器创建

表格编辑表格编辑

图 7.14 拖放法产生的表格控件

Page 31: 第五章  菜单设计 5.1   下拉式菜单设计

[[例例 7-147-14] ] 设计一个如图设计一个如图 7.167.16所示的表单所示的表单 ,,要求能按部门浏览所有设备数据。要求能按部门浏览所有设备数据。(1) (1) 创建表单创建表单 ,,并在数据环境中建立如图并在数据环境中建立如图 7.17 7.17 所示所示 44 个表的两级一多关系。个表的两级一多关系。(2) (2) 在表单上创建在表单上创建 11个下拉列表框个下拉列表框 ,2,2个标签个标签 ,3,3个表格。表格控件可从数据环境创建个表格。表格控件可从数据环境创建 ,, 即将即将数据环境中数据环境中 SBSB 窗口的标题栏拖到表单释放窗口的标题栏拖到表单释放 ,, 从而产生从而产生 GrdSbGrdSb 表格。然后可用同样方法创表格。然后可用同样方法创建表格建表格 GrdDxGrdDx和和 GrdZz,GrdZz,如图如图 7.167.16所示。表格创建后按图调整好表格位置、大小与列宽。所示。表格创建后按图调整好表格位置、大小与列宽。(3) (3) 如图如图 7.167.16所示创建矩形框形状控件所示创建矩形框形状控件 ,, 然后选定格式菜单的置后命令。然后选定格式菜单的置后命令。(4) (4) 属性设置:见表属性设置:见表 7.147.14 。 。 (5) Combo1(5) Combo1的的 InitInit 事件事件 : : SELECT bmdmSELECT bmdmGO BOTTOMGO BOTTOMSKIP && SKIP && 故意将记录指针移到出界故意将记录指针移到出界 ,,以使表格在表单运行之初显示空白以使表格在表单运行之初显示空白(6) Combo1(6) Combo1的的 ClickClick事件事件 ::THISFORM.Label2.Caption=THISFORM.Combo1.Value+"THISFORM.Label2.Caption=THISFORM.Combo1.Value+"设备情况设备情况 " && " && 标题例如“一标题例如“一车间设备情况”车间设备情况”

图 7.16 按部门浏览设备表单窗口图 7.17 两级一多关系数据环境

Page 32: 第五章  菜单设计 5.1   下拉式菜单设计

对 象 名 属 性 属 性 值 说 明Form1 Caption 按部门浏览设备Combo1 Style 2 组合框类型 : 下拉列表框

RowSourceType

2 值源类型 :别名

RowSource BMDM 设置值源表ColumnCount 2 列表显示代码 ,名称 2个字段BoundColumn 2 设定第 2列为 value值

GrdSb,GrdDx,GrdZz ReadOnly .T. 3个表格设置只读GrdSb.Column1.Head

er1Caption 设备编号

GrdDx.Column1.Header1

Caption 大修设备

GrdZz.Column1.Header1

Caption 增值设备

Label1 Caption 请选择部门:AutoSize .T.

FontSize 14

Label2 Caption 设 备 情 况 用于表单运行之初显示标题FontSize 11

Shape1 SpecialEffect 0 以 3维形式显示形状框

表 7.14 “ 按部门浏览设备”属性设置

Page 33: 第五章  菜单设计 5.1   下拉式菜单设计

页框页框 (Pageframe)(Pageframe) [[例例 7-157-15] ] 在表单上创建一个如图在表单上创建一个如图 7.187.18所示含所示含有两个页面的页框有两个页面的页框 ,,分别用来维护分别用来维护 SBSB 表和表和 BMDBMDMM 表。表。 (1) (1) 在表单上创建一个页框。在表单上创建一个页框。 (2) (2) 在数据环境中添加在数据环境中添加 SBSB 表和表和 BMDMBMDM 表。表。 (3) (3) 页面标题设置:在页框中选定页面标题设置:在页框中选定 Page1Page1 页面页面 ,,将页面的将页面的 Caption Caption 值改为设备。以同样方法将值改为设备。以同样方法将 PPage2age2 页面标题改为部门。页面标题改为部门。 (4) (4) 在页面中创建表格:在页框中选定设备页面在页面中创建表格:在页框中选定设备页面 ,,做一个从数据环境中做一个从数据环境中 SBSB 窗口标题栏到设备页面窗口标题栏到设备页面的拖放动作的拖放动作 ,, 页面中就会显示关于页面中就会显示关于 SBSB 表的表格。表的表格。以同样方法在部门页面中创建关于以同样方法在部门页面中创建关于 BMDM BMDM 表的表的表格。表格。

图 7.18 含有两个页面的页框

Page 34: 第五章  菜单设计 5.1   下拉式菜单设计

连接类 连接类 ActiveXActiveX 控件控件 (Olecontrol) (Olecontrol)

[[ 例例 7-16] 7-16] 用滑杆控件浏览设备表的设备名称,要求滑杆指向什么数用滑杆控件浏览设备表的设备名称,要求滑杆指向什么数值,就显示记录号为该数值的设备名。值,就显示记录号为该数值的设备名。 (1) (1) 在表单上创建在表单上创建 11 个文本框控件。个文本框控件。 (2) (2) 在表单上创建在表单上创建 11 个滑杆控件:从表单控件工具栏中选定个滑杆控件:从表单控件工具栏中选定 ActiveX(OlecontActiveX(Olecontrol)rol) 控件按钮——单击表单下部某处控件按钮——单击表单下部某处在插入对象对话框中选定“插入控件”选在插入对象对话框中选定“插入控件”选项按钮——在控件类型列表中选定项按钮——在控件类型列表中选定 Microsoft Slider Control,version 6.0Microsoft Slider Control,version 6.0 选项选项——选定确定按钮返回表单窗口——选定确定按钮返回表单窗口 (( 见图见图 7.20)7.20) 。。

图 7.19 插入对象对话框图 7.20 用滑杆控件浏览

Page 35: 第五章  菜单设计 5.1   下拉式菜单设计

(3) (3) 在数据环境中添加在数据环境中添加 SBSB 表。表。(4) (4) 将将 Form1Form1 表单的表单的 CaptionCaption 属性设置为浏览设备名称。属性设置为浏览设备名称。(5) Olecontrol1(5) Olecontrol1 的的 InitInit 事件代码编写如下:事件代码编写如下:* * 滑杆指针刻度范围按表的记录数设置滑杆指针刻度范围按表的记录数设置 THIS.Min = 1 && THIS.Min = 1 && 刻度值最小为刻度值最小为 11 THIS.Max = RECCOUNT() && THIS.Max = RECCOUNT() && 刻度值最大与记录个数相同刻度值最大与记录个数相同(6) Olecontrol1(6) Olecontrol1 的的 MouseMoveMouseMove 事件代码编写如下:事件代码编写如下: LPARAMETERS button, shift, x, yLPARAMETERS button, shift, x, y * * 移动滑杆指针来显示移动滑杆指针来显示 SBSB 表的名称字段值表的名称字段值 * Olecontrol1* Olecontrol1 :滑杆控件的:滑杆控件的 Name Name * THISFORM.Olecontrol1.Value* THISFORM.Olecontrol1.Value :滑杆指针所在刻度的值:滑杆指针所在刻度的值 GO THISFORM.Olecontrol1.Value && GO THISFORM.Olecontrol1.Value && 记录指针指向滑杆指针所在刻记录指针指向滑杆指针所在刻度度

THISFORM.Text1.Value = THISFORM.Text1.Value = 名称 名称 && && 文本框显示名称字段值文本框显示名称字段值

Page 36: 第五章  菜单设计 5.1   下拉式菜单设计

ActiveXActiveX绑定控件绑定控件 (Olebou(Oleboundcontrol) ndcontrol)

[[例例 7-177-17] ] 自制一个如图自制一个如图 7.237.23所示的图象编辑器所示的图象编辑器 ,,要求能对要求能对 SBSB 表通用型字段中的图象进行浏览、修改、表通用型字段中的图象进行浏览、修改、增入与替换。增入与替换。 (1) (1) 在表单上创建在表单上创建 OLE OLE 绑定型控件、滑杆控件、绑定型控件、滑杆控件、命令按钮控件和形状控件各命令按钮控件和形状控件各 11个。个。 (2) (2) 将形状控件置于将形状控件置于 OLEOLE绑定型控件之后:选定绑定型控件之后:选定形状控件形状控件 ,, 然后选定格式菜单的置后命令。然后选定格式菜单的置后命令。

(3) (3) 属性设置:见表属性设置:见表 7.157.15。。 图 7.23 图象浏览器表单窗口

对 象 名 属 性 属 性 值 说 明Form1 Caption 图象浏览器Oleboundcontrol

1ControlSource

sb.商标 Ole绑定型控件与通用型字段绑定

Strech 1 图象以纵横等比尺寸填充 OLE 控件Command1 Caption 替换Shape1 SpecialEffect 0 以 3维形式显示形状框

表 7.15 “ 图象浏览器”属性设置

Page 37: 第五章  菜单设计 5.1   下拉式菜单设计

(4) Olecontrol1(4) Olecontrol1的的 InitInit 事件代码编写如下:事件代码编写如下: * * 滑杆指针刻度范围按滑杆指针刻度范围按 SBSB 表记录数设置表记录数设置 THIS.Min = 1 THIS.Min = 1 THIS.Max = RECCOUNT()THIS.Max = RECCOUNT() (5) Olecontrol1(5) Olecontrol1的的 MouseUpMouseUp事件代码编写如下:事件代码编写如下: LPARAMETERS button, shift, x, yLPARAMETERS button, shift, x, y GO THISFORM.Olecontrol1.Value && GO THISFORM.Olecontrol1.Value && 记录指针指向滑杆指针所在刻度记录指针指向滑杆指针所在刻度 THISFORM.Oleboundcontrol1.Refresh THISFORM.Oleboundcontrol1.Refresh && && 为使图象当场显示为使图象当场显示 ,,刷新刷新 OLEOLE绑定型控件的显示绑定型控件的显示 (6) Command1(6) Command1的的 ClickClick事件代码编写如下:事件代码编写如下: * * 既能向当前记录通用型字段增入图象既能向当前记录通用型字段增入图象 ,, 又能替换图象又能替换图象 tx=GETPICT() && tx=GETPICT() && 显示打开图片对话框显示打开图片对话框 ,,并返回用户选定的图象文件名并返回用户选定的图象文件名 APPEND GENERAL sb.APPEND GENERAL sb. 商标 商标 FROM &tx FROM &tx && && 从选定文件向当前记录的通用型字段代入从选定文件向当前记录的通用型字段代入 OleOle图象对象图象对象 THISFORM.Oleboundcontrol1.Refresh THISFORM.Oleboundcontrol1.Refresh && && 为使代入的图象当场显示为使代入的图象当场显示 ,,刷新刷新 OLEOLE绑定型控件的显示绑定型控件的显示