在vfp中如何用prg生成scx
在vfp中可以用向导生成表单,添加控件,修改属性,编写事件代码,然后保存表单,最后运行表单....
在一切如何用.prg文件自动执行完成?
我现在已经可以:
用 oform = CREATEOBJECT( "FORM ") 创建表单,
用 oform.AddObject( "txt1 ", "TEXTBOX ") 添加控件,
用 oform.txt1.top=20 设置控件属性
但却找不到
1。如何编写控件/表单事件代码
2。如何将创建的表单保存到.scx文件中
我也不知道自己有没有“分数”,如果有一定给。谢谢!
[解决办法]
这是VFP9.0帮助中自带的示例
下面的示例示范了如何使用 AddObject 方法程序将对象或控件添加到一个表单中。AddObject 被用来将一个 Line 控件和三个命令按钮添加到该表单。
line 控件和命令按钮的 Visible 属性设置为“真”(.T.)。在默认情况下,将对象或控件添加到表单后,它们是不可见的。
frmMyForm = CREATEOBJECT( 'Form ') && 创建一个表单
frmMyForm.Closable = .F. && 使控件菜单框失效
frmMyForm.AddObject( 'shpLine ', 'Line ') && Add a Line control to the form
frmMyForm.AddObject( 'cmdCmndBtn1 ', 'cmdMyCmndBtn1 ') && “向上”Cmnd 按钮
frmMyForm.AddObject( 'cmdCmndBtn2 ', 'cmdMyCmndBtn2 ') && “向下”Cmnd 按钮
frmMyForm.AddObject( 'cmdCmndBtn3 ', 'cmdMyCmndBtn3 ') && ‘退出’Cmnd 按钮
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. && 默认的 Cancel 命令按钮(Esc)
Left = 125 && 命令按钮与表单的左边距
Top = 150 && 命令按钮与表单的上边距
Height = 25 && 命令按钮的高度
PROCEDURE Click
CLEAR EVENTS && 停止事件处理,关闭表单
ENDDEFINE
[解决办法]
表单有个方法SaveAs,不过好像不能保存自定义类。
你要做什么,这样很麻烦的。