vfp常用控件
- 格式:xls
- 大小:17.50 KB
- 文档页数:1
一 、前 言控件是面向对象可视化编程系统中 的 重 要 组 件 , 其 中 的 表 格(Gr i d)控件和日历控件是两类常用控件 。
表 格(Gr i d)控 件 通 常 有 两 类 作 用 :1.仅仅作为简单或复杂查 询结果的显示窗口 ,该 类 窗 口中的数据不可更改和删除 ;2. 作为数据库已有数据的修改或 者新记录的插入的界面 , 该 类窗口有可能先显示满足条件的记 录 信 息 ,然后由用户直接修改 指定属性的数值 ,也可能直接由用 户 输 入 新 数 据 。
基于作者多年的 VFP 开 发 经 验 , 本 文 将 就 Grid 控 件 、日 期 控件的应用提供实际案例 ,加 以 讨 论 。
二 、表 格(Gr i d)控 件1.利用表格控件显示查询结果如 图 一 所 示 ,假设应用程序的表单(Form)中 已 经 创 建 了 一 个名 为 MyGr i d 的 表 格 (Gr i d)控 件 ,用 于 显 示 表 cxb.dbf(数 据 结 构 见表 一)中的产品月进货与销售情况 。
.col um n cou nt =7 && 设置控件中显示的列数 .column1.width=70&& 依次设置各列显示宽度(单 位:像 素) .column2.width=80 …….recordsourcety pe=2 EndWiththi sfo rm.M yGri d.vi si bl e =iif (re cc()>0,.t.,.f.)&& 若 MyC ursor 游 标 中 无 记 录 ,则 MyGrid 控 件 不 可 见 thisf orm.ref resh执 行 上 述 程 序 后 ,表 cxb.dbf 中的对应的字段名将自动作为 表 格 控 件 MyGr i d 的各列的标题名 称 而 得 到 显 示 (如 图 一 所示)。
如果要改变显示列的标题名称 , 则 可 以 用 SQL 语 句 中 的 as 子 句 ,例 如 ,要将图一中的列名 "年 月 "改 为 "时 间 "时 , 对 应SQL 语句 为 :se l e ct 年 月 as "时 间 ",进 货 数 ,进 货 额 ,进 货 额 比 重 , 销 售 数 , 销 售 额,销 售 额 比 重 i nt o cursor MyCursor from cxb通过上述程序可以发现 , 表 格 控 件的该类应用实际上是先利 用 SQL 将查询结果存 放到某个游标中 (这时游标中的数据具备 只 读 属 性),然后将游标数据显示到表格控件的应用 。
VFP中的列表框控件(listbox)一.列表框(listbox):主要用于选择一组指定的数据,用户从列表中选取选项,然后执行所需的操作.二.列表框常用属性:见下表注1(rowsourcetype属性可指定的值):0-无,运行时使用列表框的确良additem和addlistitem方法加入1-值,将列表框的内容在设计时直接写在该属性中2-表别名:由columncount确定表中选择的字段.当用户选择列表框时,记录指针将自动移到该记录上3-sql语句:见sql部分,由执行的结果产生.4-查询文件名:见查询部分,由查询结果产生5-数组名6-字段名表:可用表别名作为字段前缀.当用户选择列表项时,记录指针将自动移到该记录上7-文件名描述框架,可包含"*"和"?"来描述在列表框中显示的文件名8-结构9-弹出式菜单,提供向后兼容.二.列表框常用的方法:见下表方法作用additem 增加列表项removeitem 移去列表项clear 移去所有列表项requery 当rowsourcetype为3和4时,根据rowsource中的最新数据重新刷新列表项三.列表框常用事件:列表框的常用事件为click(单击)事件和dbclick(双击)事件.四.例:列表框练习1.新建表单,添加一个文本框text1,三个命令按钮command1~command3,三个命令按钮的caption属性依次设为"加入","移出"和"全部移出",一个列表框list1.界面如图252.设置属性:将表单的caption属性设为"列表框练习",autocenter属性设为.T.;将列表框list1的moverbars属性设为.T.,multiselect属性设为.T.3.编写代码:●"加入"命令按钮command1的click事件:qm=thisform.text1.valueIF !empty(qm)no=.t.FOR i=1 to thisform.list1.listcountIF thisform.list1.list(i)=qm &&如果文本框中输入的内容和列表框中已存在的内容相同,则不添加no=.f.ENDIFNEXT iIF nothisform.list1.additem(qm)thisform.refreshENDIFENDIF●"移出"命令按钮command2的click事件:IF thisform.list1.listindex>0thisform.list1.removeitem(thisform.list1.listindex)ENDIF●"全部移出"按钮command3的click事件:thisform.list1.clear●列表框list1的init事件:thisform.list1.additem("杨过")thisform.list1.additem("小龙女")thisform.list1.additem("东方不败")●列表框list1的dbclick事件:mand2.click() &&调用command2("移出"按钮)的click事件代码说明:运行后,列表框中自动添加了3条记录,如图26,这是在表单的init代码中添加的;在文本框中输入任意文本,如果和列表框中的内容不同,单击"加入"按钮,该内容会加入到列表框;否则不添加;在列表框中选中一条数据,单击"移出"按钮,该数据被删除;在列表框中直接双击某条数据,则的列表框的dbclick事件中调用"移出"按钮的click事件代码,将双击的数据删除。
关于控件1.组合框Combobox的使用〈1〉组合框内要显示多列,可改变ColumnCount特性,但此时若不设置列宽度,将仅显示第一列。
可以通过逗号分隔的清单列来指定列宽。
如:用“10,50,100”设置三列宽度。
在组合框中,隐藏指定列的最简单方法是使用"组合框生成器"。
在"组合框生成器"的"布局"选项卡上,将这些列拖到您所希望的宽度。
如果要通过编程在组合框中隐藏指定的列,请将这些列的ColumnWidth 属性设置为0。
在如下的程序代码中,列1 和列2 被隐藏,列 3 的宽度为100 pixels:boBox1.ColumnWidths = 0,0,100〈2〉要想让用户每次查找时输入一个字母,把IncrementalSearch特性设置为True,运行时,当用户输入一个字母时,高亮条将移列表中第一个字母和输入字母相匹配的第一条目上。
〈3〉要将输入的内容加入到下拉列表中,可在组合框的Valid事件中加入This.Additem(This.Displayvalue)代码。
(4) 设定其初始(默认)值,在其init中:this. Listindex=某个数值(下拉中的第某项)。
(5)关于组合框下拉列表中显示多列及组合框绑定某一列值的问题,网上及其它书上说的比较乱,经过实验得出以下方法:在组合框的属性框中的recordsource属性中写上在下拉框内要显示的所有字段(一般也就是两个),这里需要注意的是写的格式:表名.字段1,字段2 ,这里的“字段1”就是经过用户选择后要在组合框中最后(绑定)显示的;在组合框的resourcetype属性中选择2——别名;设置组合框的columnwidth属性为50,30(这里假设为两列,50和30为列宽,设计者可根据自己的具体情况设置数值,以达到美观的效果。
);组合框的columncount设定为2(假设下拉时显示为2列).网上有的提到组合框的boundcolumn属性,认为在设置完以上属性后只要改变boundcolumn的值,就可以改变组合框的绑定值(即用户经过选择后在组合框中显示的值),我在vfp6.0中经过实验认为,即使改变boundcolumn的值,也不起什么作用,也就是说我们完全可以不考虑组合框的boundcolumn属性。
标签(Label)控件可以编写代码来改变Label控件显示的文本,以响应运行时的事件。
例如,如果一个应用程序要几分钟时间作改动,则可以显示Label 中的进程状态信息。
还可以使用Label 来标识控件,例如TextBox控件没有自己的Caption属性,这时就可以使用Label 来标识这个控件。
在Label控件中定义访问键时,就可以按ALT + 设定的字符来把焦点移动到TAB 键顺序中的下一个控件。
常用的标签属性•Caption属性当创建一个新的对象时,其缺省标题为缺省的Name 属性设置。
该缺省标题包括对象名和一个整数,如Command1 或Form1。
为了获得一个描述更清楚的标签,应对Caption 属性进行设置。
可以使用Caption属性赋予控件一个访问键。
在标题中,在想要指定为访问键的字符前加一个(\<) 符号。
比如,下面代码在为标签设置Caption属性的同时,指定了一个访问键“x”:ThisForm.MyLabel.Caption="选择项目(\<X)"对于一般控件,按下相应的访问键,将激活该控件,使该控件获得焦点。
而对于标签,按下相应的访问键,将把焦点传递给tab键次序中紧跟着标签的下一个控件。
比如,在某个列表框的上方放置一个标签,并把列表框的Tab键次序安排在标签之后,这样,按下标签访问键时,其下方的列表获得焦点。
访问键的使用方法受KEYCOMP设置(DOS或WINDOWS)的影响。
在当前表单激活的情况下,访问键的使用方法如表所示。
•Label 控件标题的大小没有限制。
对于窗体和所有别的有标题的控件,标题大小的限制是255 个字符。
提示对于标签来说,将AutoSize 属性设为True 自动调整控件的大小以与其标题相适合。
•Alignment属性指定的标题文本在控件中显示的对齐方式语法object.Alignment [= number],该属性的设置值如表所述。
属性含义控件备注PageCount 页面个数页框ButtonCount 按钮个数按钮组、选项按钮组ColumnCount 列数表格、列表框、组合框经常要在按钮组中添加一个按钮,在页框中添加一个页面,在表格中添加一个表格列BorderStyle边框类型按钮组、选项按钮组0-无边框,1-单线边框,2-固定对话框,3-可调边框BackStyle 背景类型0-透明,1-不透明RowSourceType 行源类型列表框、组合框 RowSource 行源列表框、组合框 RecordSourceType 记录类型表格 RecordSource 记录表格Interval时间间隔Timer (计时器)SpinnerHightValue Spinner (微调框) SpinnerLowValue通过微调框按钮输入的最大、最小值Spinner (微调框)KeyboardHightValue 通过键盘输入的最大值Spinner (微调框)KeyboardLowValue通过键盘输入的最小值Spinner (微调框)Increment点上下箭头每次改变的值Spinner (微调框)默认值是1Value值文本、编辑、按钮组、选项按钮组、微调框等按钮组、选项按钮组中值指的是选中的第几个ControlSource 文本、编辑、选项按钮组、列表框、组合框等用于指定与其绑定的数据源Caption标题表单、按钮、标签、选项按钮、页面等注意按钮组、选项按钮组、页框等“成组”的控件的改法Name对象名每个控件都有在设计器中有些控件内显示的就是控件的Name 值。
例如:文本框、列表框等。
Value控件的值文本框、列表框、组合框、微调框、命令按钮组、页框等在运行时有些控件内显示的就是控件的Value 值。
例如文本框、列表框等。
FontSize 等字体等显示文字的控件字体(FontName )、字号(FontSize )、粗体(FontBold )、斜体(FontItalic )等都Font 开头ForeColor/ ackColor 前景色/背景色显示文字的控件显示文字的颜色/文字后面的颜色Width/Height 宽度、高度每个可见控件 Left/Top 距表单Default/Cancel 默认/取消按钮等与“ENTER”键/与“取消”对应Alignment文本对齐方式文本框、编辑框、微调框等0-左,1-右,2-中间,3-自动(默认)AddItem添加条目列表、组合向其中添加一行RemoveItem移除条目列表、组合从其中移去一行SetFocus设置焦点文本、编辑、表格等使其获得焦点Refresh刷新表单、表格、页面等使其刷新,从新获取数据Release释放表单关闭表单Hide/Show隐藏/显示表单表单Clear清除内容列表框、组合框Cls清除内容表单清除表单上绘制的图形、文字SetAll为容器对象中所有控件指定一个属性设置页框、表格、命令按钮组、选项按钮组等1.表单(Form):默认对象名:Form1等属性含义备注Width宽度MinHeight表单的最小高度MinWidth表单的最小宽度2.标签(Label):默认对象名:Label1等属性含义备注AutoSize是否可以自动调整大小WordWrap是否可以自动换行3.文本框(TextBox):默认对象名:Text1等属性含义备注Value 值运行时,列表框中的内容。
VFP中的组合框控件(combobox)一.组合框(combobox):组合框和列表框的功能类似,但使用更为灵活,更为常用.实际上,组合框是由一个文本框和一个列表框组成的,组合框又被称为弹出式菜单.用户使用时,单击文本框右侧的三角即可展开下拉列表,如图27二.组合框常用的属性:见下表注1(rowsourcetype属性可指定的值):0-无,运行时使用列表框的确良additem和addlistitem方法加入1-值,将列表框的内容在设计时直接写在该属性中2-表别名:由columncount确定表中选择的字段.当用户选择列表框时,记录指针将自动移到该记录上3-sql语句:见sql部分,由执行的结果产生.4-查询文件名:见查询部分,由查询结果产生5-数组名6-字段名表:可用表别名作为字段前缀.当用户选择列表项时,记录指针将自动移到该记录上7-文件名描述框架,可包含"*"和"?"来描述在列表框中显示的文件名8-结构9-弹出式菜单,提供向后兼容.原文链接:/article/airfire-2-1279355.html二.组合框常用的方法:见下表三.组合框常用事件:列表框的常用事件为click(单击)事件、dbclick(双击)事件和interactivechange事件(当用户使用键盘或鼠标更改组合框的值时发生的事件,比如,我们单击组合框右侧的三角展开下拉列表时,即会发生此事件)四.组合框示例:修改表单xggz.scx,使用组合框控件展示其中的"文化程度"和"职称"两个字段的内容1.打开表单xggz.scx,该表单的制作方法见第二章第二节内容2.该表单中,"文化程度"和"职称"两个字段的内容原先使用的是文本框控件.我们选中这两上文本框,将其删除.再添加两个组合框,其中Combo1用于展示"文化程度"字段的值,Combo2用于展示"职称"字段的值,如图283.选中combo1,在"属性"窗口中将其rowsoucetype属性值改为"6-字段",将rowsource属性值改为"职工档案.文化程度",并将combo1的ctrolsource属值设为"职工档案.文化程度".同样方法,设combo2的rowsourcetype属性值设为"6-字段",将rowsource属性值设为"职工档案.职称",并将其controlsource属性值设为"职工档案.职称".4.运行修改后的xggz.scx表单,如图30,我们可以看到,单击"上一条","下一条"等命令按钮时,每条记录的"文化程度"和"职称"均不同.单击combo1和combo2,在列表中选择一个值,程序即用该值来更改表中相应字段的值.。
vfp中的控件的名词解释Visual FoxPro(VFP)是一种流行的面向对象的数据库管理系统,它提供了丰富的功能和控件,用于开发各种Windows应用程序。
控件是VFP中的重要组成部分,它们可以帮助开发人员创建直观、可交互的界面,并实现各种功能。
I. 基本控件1. 文本框(Textbox)文本框是常见的控件之一,用于接收和显示文本或数字。
开发人员可以设置文本框的属性,例如字体、颜色、对齐方式等。
文本框可以用于输入用户信息、显示计算结果等。
2. 按钮(Button)按钮是用于触发特定操作的控件,如保存、删除、打印等。
通过按钮的点击事件,开发人员可以编写相关的代码来执行相应的操作。
按钮通常具有自定义的标签文本,便于用户理解和操作。
3. 复选框(Checkbox)复选框用于选择一个或多个选项,多用于设置一组选项中的多个状态。
开发人员可以设置复选框的默认选中状态,并在代码中访问和处理用户选择的状态。
4. 单选按钮(Radio Button)单选按钮类似于复选框,但只能选择一个选项。
通常,单选按钮用于在一组互斥的选项之间进行选择。
通过设置单选按钮的默认选中状态和相关事件处理,开发人员可以实现不同选项的交互。
II. 数据输入控件1. 列表框(Listbox)列表框用于显示选项列表,并允许用户从中选择一项或多项。
开发人员可以自定义列表框的选项内容,并通过代码进行选择项的读取和处理。
2. 组合框(Combobox)组合框结合了文本框和列表框的功能,用户可以选择预定义的选项,也可以自由输入。
组合框常用于需要用户输入或选择预定义选项的场景。
3. 日历控件(Calendar)日历控件用于选择日期,并提供了用户友好的界面来显示、选择和操作日期。
开发人员可以根据需要设置日历控件的样式和功能。
III. 数据显示控件1. 标签(Label)标签用于显示静态文本,通常用于标识其他控件或提供相关的说明信息。
开发人员可以设置标签的字体、颜色和位置等属性,以便于用户理解和处理。