关于activeform的一个问题。。请高手赐教(100分)

  • 主题发起人 主题发起人 sam35
  • 开始时间 开始时间
S

sam35

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在一个activeform中弹出一个子窗口。。。但是好像不行耶:(

可是,用application.messagebox(), 可以弹出对话框。。对话框不也是一个窗口么?

请各位高手不吝赐教。。。
 
完全可以。
 
>>但是好像不行耶
怎么不行?
 
高手呀。。
我是这样写的:
新建两个activeform,取名为main和sub
main中有一个show按钮
sub中有一个close按钮
在main中的 show 按钮中的click 事件中写了 : sub.show;
在sub中的 close 按钮中的click 事件中写了: close;

可是,当我build工程的时候。。有错误发生。
错误信息为:
[Error] mainImpl1.pas(322): Object or class type required
[Fatal Error] mainProj1.dpr(7): Could not compile used unit 'mainImpl1.pas'

这是怎么回事儿呀? 请高手。。赐教。。菜鸟不胜感激。。

能给出一个例子么?
 
建两个activexform干嘛?就除了主form是activexform之外其他的form就像平时普通的一样
做。
 
我同意snake的看法,没必要建两个,只要建一个ActiveForm就行了,其余都用Form就用
我现在编写的程序就是这样实现的,一点问题都有。
 
直接这样调用show的方法肯定会出错,show的方法实际上是对api的封装,
可是在ie里,DC,handle等东西是不能这样等同的。
 
各位大侠。。。先谢谢对我这菜鸟的关心。。

那么。。假设sub窗口是平常的form.那么我要怎么调用呢?

用sub.showmodal
??
 
不行的,别白费功夫了!
不死心的话可以再试
 
需要自己手动添加,在activeform中不是跟普通应用程序一样,application可以自动创建。

可以在
onclick事件中,自己手动添加以下代码。

form1:=Tform1.Create(Self)
try
form1.ShowModal;
finally
form1.Free;
end;


 
错啦,错啦,activeform,你还没有create呢?怎么show呢?
form:=Tform.create(self);
form.show;
或者是:
application.createform(Tform,form);
form.showmodal;
form.free;
如果还不行,把源码寄给我。
或者给你一个例子,
我的一个大项目,一个小模块都有几十个form,都没有问题的啦。
 
谢谢各位大侠的关心,谢谢!
我按照你们的指点,嘿~~成了!

 
后退
顶部