请教关于动态窗口的问题 (200分)

  • 主题发起人 主题发起人 HongYuan
  • 开始时间 开始时间
H

HongYuan

Unregistered / Unconfirmed
GUEST, unregistred user!
如题所示,就是程序运行时能创建新的控件并且指定一定的事件,然后下次运行程序时能调用运行时设计的新界面,请知道的朋友给点例子或思路,谢谢
 
是不是和“自定义工具栏的时候新建一个工具按钮并指定功能”差不多?
 
和你所说的差不多,我的需求是这样的:在做ERP时,有各种各样的单据,比如发票、入库单、出库单等,我是想把这些单据能在运行期间对界面进行调整。
 
动态创建比较简单,比如创建一个button:
var
btn1:tbutton;
begin
btn1:=tbutton.create(self);
btn1.parent:=form1;
btn1.caption:='新按钮1';
btn1.name:='newbutton1';
btn1.top :=10;
btn1.left:=10;
btn1.width:=10;
btn1.height:=10;

end;
即可;

但是要保存的话,保存到可执行文件是不可能的了,你只能把用户的设置(比如用户设定要创建几个按钮,按钮的位置大小等等)存到ini文件中,然后每次启动的在form的oncreate事件中,读取这些设置,动态创建出各个控件;

 
to:rwlin
创建好控件如何给控件指定事件?事件也存在INI文件中吗?
 
写道你自己定义的配置文件里面,然后在运行的时候从配置文件里面读取出来,不过onclick事件要自己先写好,然后运行的时候指定以下就可以了
 
這裡大把提問這樣的問題,你自己先搜索一下吧
搜索地址:http://24.103.53.13/index.html
 
并不是什么都行的,
看看这样能不能满足你的要求
1. 运行时能创建新的控件 -->这个应该没什么问题
2. 将界面转换成文本
3. 保存文本 读取文本 --> 这个应该没什么问题
4. 将文本转换成界面

关于2,4 以前大富翁的朋友给了例子的.如果你需要,我可以发给你
 
to:yostgxf
我的E-Mail:furong_xie@163.com
 
DreamControl有PAS/JS/VBS/脚本,能基本完成你要的功能.
 
事件不用写倒配置文件中,因为你动态创建的各个按钮的事件估计应该是类似的把,所以,可以直接写在一个事件中,只是这个事件应该随着不同的控件名称而改变,即在这个事件中,你应该判断调用的控件名称,来调用不同的操作;
 
发出了,看看对你有没有用
 
邮件退回来了
 
to:yostgxf
我的E-Mail:furong_xie@163.
 
TO:gear1023
不了意思,请问DreamControl是什么?控件吗?在那有下载,可以发一份给我吗?
 
是控件,到51DELPHI里下:

http://www.51delphi.com/delphi/soft?cx=dream
 
你应该考虑下用TStream的Tcomponent的writeComponent和ReadComponent方法,可以保存控件的属性,包括事件?(没有试过)。
 
又发了,请查收
 
http://www.csdn.net/dev/delphi/Samples/saveprop.zip
作者: Theodoros Bebekis.
如何保存控件及其属性到磁盘或Blob字段

参考一下这个呗
 
to :yostgxf
谢谢,收到。。。
你的例子我测试过了,我发现如果我给控件指定事件,那么就不能创建了,不知道你是如何操作的,烦请告知...
 
后退
顶部