动态创建控件(0分)

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

huangjihua

Unregistered / Unconfirmed
GUEST, unregistred user!
大虾们!~
我创建了一个FormX,但是怎么在FormX上动态创建其他的控件。那些控件主要要写那些属性上去??还有就是:在.pas里动态创建FormX和在dll里动态创建是一样的吗???期待回答,谢谢?!~~~~~~~
 
如果是需要显示的控件,如属于TCustomControl, TGraphicControl,需要设置的至少有
TOP, LEFT ,WIDTH, HEIGHT, PARENT, 保险起见,设置完后,再加上一条AControl.Show,确保正确显示.另外,你需要创建时指定正确的OWNER,即在创建时Create(AOwner),把Owner指定好, 不然会发生Memory Leak,当然,你是看不到的,除非用了FASTMM之类的工具来检查.
其它的属性,就是看你的需要了,如TButton你得设置它的Caption属性吧??而Tlabel也是一样,TEdit你也许想初始化它的Text属性
不可显示的控件,如TTimer ,你就不用设置有关显示的属性了,但是要设置其它的能保证其正常动作的相关属性,还是TTimer为例,你得设置Interval, Enable, OnTimer的委托处理过程.
========
至于第二个问题,我就不能瞎说了...呵
 
关于第二个问题,是不一样的,因为DLL是被映射到加载它的可执行程序里去的,你必须在DLL中创建时传递参数,设置它的主窗口为加载它的应用程序的主窗口,否则,这个窗口无人管理。
 
动态创建控件的几种方法:XX.create(Self);
XX.Create(Application)
XX.Create(Owner);
XX.Create();
要注意区别!
 
后退
顶部