注册 登录
编程论坛 VFP论坛

如何向表单控件中增加一个控件?

Wayneboc 发布于 2023-09-22 20:50, 874 次点击
具体问题写在附件中。希望高手教我。
只有本站会员才能查看附件,请 登录
12 回复
#2
bbschf2023-09-22 22:11
F1查看addobject()的解释
#3
Wayneboc2023-09-22 22:25
回复 2楼 bbschf
我查不到。我附件中,让我填写文件名,我不知道写哪个文件。你能告诉我吗?
#4
laowan0012023-09-23 08:35
看样子楼主是在学习VFP
就贴子里的问题,可以不心纠结,很少能用上,多学习VFP和SQL语句更有用
#5
z126892023-09-23 09:29
回复 3楼 Wayneboc
addobject 方法
示例 应用于 请参阅

运行时,在容器对象中添加对象。

语法

Object.AddObject(cName, cClass [, cOLEClass] [, aInit1, aInit2 ...])

参数
cName

指定引用新对象的名称。

cClass

指定添加对象所在的类。

cOLEClass

指定添加对象的 OLE 类。

aInit1, aInit2 ...

指定传给新对象的 Init 事件的参数。

说明

调用 addobject 方法时,将触发新添加对象的 Init 事件。在表单集中加入表单时,Load 事件在 Init 事件之前发生。

附注
当用 addobject 方法往容器中加入对象时,对象的 Visible 属性设置为“假”(.F.)。因此您可以设置对象的属性,而不看更改对象外观时的一些中间效果。
#6
z126892023-09-23 09:31
回复 3楼 Wayneboc
addobject 方法示例
下面的示例介绍怎样使用 addobject 方法将对象或控制添加到表单中。此例用 addobject 方法往表单中加入一个 line 控制和三个命令按钮。
line 控制和命令按钮的 visible 属性设置为“真”(.t.)。在默认情况下,将对象或控制添加到表单后,它们是不可见的。

frmmyform = createobject('form') && 创建表单
frmmyform.closable = .f. && 废止控制菜单框

frmmyform.addobject('shpline','line') && 在表单中添加 line 控制
frmmyform.addobject('cmdcmndbtn1','cmdmycmndbtn1') && 向上命令按钮
frmmyform.addobject('cmdcmndbtn2','cmdmycmndbtn2') && 向下命令按钮
frmmyform.addobject('cmdcmndbtn3','cmdmycmndbtn3') && 退出命令按钮

frmmyform.shpline.visible = .t. && 设置 line 控制可见

frmmyform.shpline.top = 20 && 指定 line 控制所在的行
frmmyform.shpline.left = 125 && 指定 line 控制所在的列

frmmyform.cmdcmndbtn1.visible =.t. && 使向上命令按钮可视
frmmyform.cmdcmndbtn2.visible =.t. && 使向下命令按钮可视
frmmyform.cmdcmndbtn3.visible =.t. && 使退出命令按钮可视

frmmyform.show && 显示表单
read events && 开始事务处理

define class cmdmycmndbtn1 as commandbutton && 创建命令按钮
caption = 'slant \<up' && 命令按钮的标题

left = 50 && 命令按钮所在的列
top = 100 && 命令按钮所在的行
height = 25 && 命令按钮的高度

procedure click
thisform.shpline.visible = .f. &&隐藏 line 控制
thisform.shpline.lineslant ='/' && 向上倾斜
thisform.shpline.visible = .t. && 显示 line 控制
enddefine

define class cmdmycmndbtn2 as commandbutton && 创建命令按钮
caption = 'slant \<down' && 命令按钮的标题
left = 200 && 命令按钮所在的列
top = 100 && 命令按钮所在的行
height = 25 && 命令按钮的高度

procedure click
thisform.shpline.visible = .f. && 隐藏 line 控制

thisform.shpline.lineslant ='\' && 向下斜
thisform.shpline.visible = .t. && 显示 line 控制
enddefine

define class cmdmycmndbtn3 as commandbutton && 创建命令按钮
caption = '\<quit' && 命令按钮的标题
cancel = .t. && 默认的取消(esc)命令按钮
left = 125 && 命令按钮所在的列
top = 150 && 命令按钮所在的行
height = 25 && 命令按钮的高度

procedure click
clear events && 结束事件处理,关闭表单
enddefine
#7
laowan0012023-09-23 09:47
VFP,这个V提供了非常好的人机交互,直观、快捷、方便,个人不建议初学者使用程序建立表单及表单中的控件
#8
kangss2023-09-23 15:24
回复 楼主 Wayneboc
只有本站会员才能查看附件,请 登录
#9
Wayneboc2023-09-23 18:16
    谢谢楼上各位的帮助。这个问题是这样来的。白永军的《黑魔方  Visual FoxPro 程序开发项目案例 》,我把光盘丢了。我按照书中写的操作,无法在表单控件工具栏上加上那个我也不知有何用的控件。并且让我选择文件。我傻了,不知道所措。
    这里的高手能不能按照我复制书上的那段操作一下,给我讲讲课----这么干的目的是什么?要我选文件我该怎么办?
    我读书读不懂,很纠结,就是到这里找高人给上课的。
#10
kangss2023-09-23 18:21
以下是引用Wayneboc在2023-9-23 18:16:27的发言:

    谢谢楼上各位的帮助。这个问题是这样来的。白永军的《黑魔方  Visual FoxPro 程序开发项目案例 》,我把光盘丢了。我按照书中写的操作,无法在表单控件工具栏上加上那个我也不知有何用的控件。并且让我选择文件。我傻了,不知道所措。
    这里的高手能不能按照我复制书上的那段操作一下,给我讲讲课----这么干的目的是什么?要我选文件我该怎么办?
    我读书读不懂,很纠结,就是到这里找高人给上课的。

1、让你选的文件是外部的dll或ocx。是因为你点了增加注册外部控件,所以才让你选择文件存放位置的
2、窗口里面显示的是已经注册过的外部控件。即:windows自带的 + 其它软件 regsvr32 注册过的dll或ocx
#11
kangss2023-09-23 18:24
回复 9楼 Wayneboc
你用的是VFP6.0,不支持gif图片
你用这个外部控件(ole)试试,选择这个ocx文件,6.0的VFP就可以使用gif动图了
只有本站会员才能查看附件,请 登录
#12
laowan0012023-09-23 21:03
以下是引用Wayneboc在2023-9-23 18:16:27的发言:

    谢谢楼上各位的帮助。这个问题是这样来的。白永军的《黑魔方  Visual FoxPro 程序开发项目案例 》,我把光盘丢了。我按照书中写的操作,无法在表单控件工具栏上加上那个我也不知有何用的控件。并且让我选择文件。我傻了,不知道所措。
    这里的高手能不能按照我复制书上的那段操作一下,给我讲讲课----这么干的目的是什么?要我选文件我该怎么办?
    我读书读不懂,很纠结,就是到这里找高人给上课的。

暂且跳过这一步吧,我使用VFP这多年,也没用过几次你纠结的问题。
先用可视化表单,从简单的应用开始,做一些容易的应用,成功也能给你带来成就感,然后逐渐复杂化,后面还有很多需要了解和克服的问题呢
#13
gs25367856782023-09-24 14:25
楼上朋友讲得很对,对于初学者,尽量使用现成的表单,控件,尽量使用鼠标拖动的方法向表单中添加控件。
你先得掌握现成控件的属性方法事件,才能做一些程序,
你提出的在程序运行过程中,向表单添加控件,这是属于【类】的工作。
类是高级的操作,一般人用不到的
类是大师级深刻研究VFP使用的。
现阶段你先基本的弄清楚。
1