如何实现一个DELPHI窗体设计器? (200分)

  • 主题发起人 主题发起人 mypine
  • 开始时间 开始时间
M

mypine

Unregistered / Unconfirmed
GUEST, unregistred user!
Hi,all!
I'm not a newbie for delphi,but I fall across a problem now. I wna
finishe a project,that the project have TWO State,like delphi,it has a
run-time and a design-time.I can drag a control to my form or resize
my control when my project is running and it is in design state.So I
need a form designer when my project is running,how to do it for my
idealism(give me some suggest in design,or source code)?
I had look up other's production,like Dream-Com,and so on,I think
it's very good for their effect.But I don't understand them that how
to do it!
Pls help me!
 
你们好,各位:
我不是一个delphi新兵,但我现在却遇到了一个棘手的问题,我想完成一个工程,
这个应用在分发以后应用有两个状态,一个设计时,就正如delphi的IDE一样,我能够
向上面拖放一个Control;一个运行时,能够对我刚才的作为运行,我应该怎么样完成
我这个梦想呢(有人有好的建议或是思路,或是源码么)?
我已经查看了比如像Dream-Com的产品,我认为它们做得非常好,而这也正是我想
要的效果,但是有些地方,我还是不能理解它,请各位帮帮忙?
谢谢!
 
用dxformulib 吧其中有个构件能帮你忙 dxfDesigner
需要的话我发给你
 
实现窗体的编辑比较简单,困难是对于事件的编辑(当然,所有的事件都由程序设定而不是用户定义要简单一些)
 
to fred2000:
谢谢!
你能发过来,我看一下么?boypine@yahoo.com.cn
 
深度历险就有好几个这样的控件,都很好用,你去下载吧!
 
to all:
谢谢各位!
实际上,我也有类似的源码在手边,也看了别人的设计方法。
因此,我在这里的是希望各位仁兄,能够将自己在这方面的见解发表出来,而不是告诉
我在什么地方去下载什么控件,不过,还是很感谢大家!
请大家继续!
 
充其量只能做成一些简单的事情.何必去想这样的事呢?
实在非得实现一些自定义功能,只要你掌最基本的一些方法就行了
1.动态创建控件
创建控件的时候甚至可以把这些控件的属性写进数据库里面,每创建一个控件就将它的基本
属性写进去,新增一条记录.下次程序运行时就把它读出来.这样可以能过修改数据库来改变
控件的外观.
2.给事件赋值.
而事件是一个天大的难题?试问我们怎样才能让每一动态创建出来的控件响应不同的事件呢?
而我们可以在数据库里面写进代码.然后在程序运行时解释执行吗?这可以做到吗?
所以我们只能机械的把事先写好的一个事件赋给这个控件.而这样却失去了我们要动态创建
控件的真正意义.
在下愚见...........
 
请问楼上的,dxformulib在哪有下载?
 
可以设法设计一些基本的函数,
组合成复杂的事件
 
我试过用registerclass
procedure RegisterClass(AClass: TPersistentClass);
Description
Call RegisterClass to register a class with the streaming system.
Form classes and component classes that are referenced in a form
declaration (instance variables) are automatically registered.
Any other classes used by an application must be explicitly registered
by calling RegisterClass if instances are to be saved.
Once classes are registered, they can be loaded or saved by the VCL
streaming system. GetClass returns nil when passed the class name of
an unregistered class, and FindClass raises an exception for unregistered classes.
The AClass parameter is the class that is descended from TPersistent.
Put the call to RegisterClass in a Register procedure or in the
initialization section of the unit in which the class is defined.
If the class is already registered, RegisterClass does nothing.
If a different class with the same name is already registered,
RegisterClass raises an EFilerError exception.
Note: Registering a component using the RegisterNoIcon or
RegisterComponents method does not automatically register the class.
It is still necessary to call RegisterClass for components.
看到过几个这样的例程都用这种方法,可实现的代码相当的多。
 
有这样的控件么?
也发给我一份吧,十分感谢。
partridge@ah163.com
多谢!
 
多人接受答案了。
 
后退
顶部