我觉得这是做ACTIVEXFORM经常碰到的问题。希望各位高手能给我们这些初学者指引一条路 (200分)

  • 主题发起人 主题发起人 人生如云
  • 开始时间 开始时间

人生如云

Unregistered / Unconfirmed
GUEST, unregistred user!
我觉得这是做ACTIVEXFORM经常碰到的问题,希望各位高手能给我们这些初学者指引一条路
如何在Activexform弹出的Form窗体上调用Activexform里的控件?
将form窗体上控件dbgrid里的字段通过oncellclick事件写到Activexform的edit控件上。
 
我也很想知道 定学习
 
为什么要这样做
 
我要把查询到的信息返回给Activexform的edit
 
在Activexform定义全局变量,显示时弹出的form时,在dbgrid双击事件里把字段的值放到全局变量,关闭后再把全局变量的值给Edit不就行啦!
 
to surpass
能否告诉我具体怎么作?
 
创建form的时候将activeform作为owner参数,这样在form中访问activeform了吗?
form1:=tform1.create(activeform1);
调用:
tform(form1.Owner).onclick(sender);
不一定对,你试试吧
 
在弹出的Form窗体中定义一个 PUBLIC事件,例如 ownerDO : Procedure
然后在 activeform 中写一个过程(该过程操作自己的控件),并将此 过程 直接传给弹出的Form窗体(当然在 SHOW 之前)。
 
我一般是这样处理的
弹出的窗体中
TForm1 = class(TForm)
...
ActiveXForm: TMyActiveXForm;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ActiveXForm.DoSomething;
end;

ActiveXForm中
TMyActiveXForm = (...)
...
Form1:=TForm1.Create(Nil);
Form1.ActiveXForm:=Self;
Form1.Show;
...
 
我的做法是ACTIVEXFORM上甚么也不放,其他的窗口按普通的窗口做好后在加到ACTIVEXFORM上,这样你的要求就全可做到了,我现在就这样做的,刚做好
 
jackeysen is right!
 
ActiveXForm中
form1:=tform1.create(self);
form1.showmodal;

form1中
((self.Owner) as activeform).edit1.text:=edit1.text;
关闭 form1
close;
form1.free;
 
多人接受答案了。
 
后退
顶部