active form的问题,create后form1.Parent:=activeform,tedit等不能输入???哪位大哥看看(50分)

  • 主题发起人 主题发起人 jackeysb
  • 开始时间 开始时间
J

jackeysb

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟在用active from做一个ie的输入界面,三层的,先用普通form实现了,然后想转成active form在ie上使用,建立active form后uses unit1,然后在TActiveFormX.ActiveFormCreate中create,代码如下:
Form1:=TForm1.Create(self);
form1.Parent:=self;
form1.Align:= alClient;
try
Form1.ShowModal;
finally
Form1.Free;
end;
可是这样后active form 中的所有的如tedit的控件都不能输入数据,然后我把
form1.Parent:=self;
form1.Align:= alClient
这两句删掉后,tedit才可输入,为甚么呢???不解。。。。
那位大哥帮看看
 
怎么没人遇到过这样的情况吗?????
 
form不能做为另一个form的父窗体啊
 
to cthliu:
active form 相当一个容器,可做另一个form的父窗体,问题是我换在active form加上一个panel,然后form1.parent:=panel;但还是同样的问题情况,查了一下论坛的贴,都说这样做的阿,
 
小弟换了n种方法来测,还是不行,tedit,dbedit等输入控件不能输入,checked,dbgrid,button等都可用,怪怪!!!为甚么么???
在interface里uses unit1,然后var form1:tform4;然后在oncreate里form4:=tform4.create(self);不行!!
在implementation后uses unit1,然后在oncreate里form4:=tform4.create(self);也不行!!
我想是不是我在uses和声明上的错误,unit1在active form中是uses 在interface后还是
implementation后???一定要var form1:tform吗?在avtive form中甚么位置声明呢,private里??
我测试时有时不用var form1:tform1也可通过的呀??
谁能来帮我解解呀????
 
怎么没人来帮我呀,嫌分少好商量呀!!!!
 
还是没人来帮我呀!!!高手!!!!高手在哪????
 
艘索了一晚上论坛上的贴子,做法和我的一样的啊!!!为很么别人的可,我的不行???
 
我又做了个test,form上只放上tedit和dbedit,还是一样不能输入,activeform代码如下:
unit test_createformImpl1;
.....
interface
...
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ActiveX, AxCtrls, test_createformProj1_TLB, StdVcl,UNIT1;---->要创建的窗体
.....
type
private
....
protected
...
public
....
end;
var
formtest:tform1;
implementation
....
procedure Ttest_createform.ActiveFormCreate(Sender: TObject);
begin
formtest:=tform1.Create(self);
formtest.Parent:=self;
formtest.Align:=alclient;
formtest.Visible:=true;
end;

procedure Ttest_createform.ActiveFormDestroy(Sender: TObject);
begin
formtest.Free;
end;

 
试一下这个行不行
formtest:=tform1.Create(Application);
 
to 落木潇潇大大:
formtest:=tform1.Create(Application);也式过了得,也是不行啊!!
 
to jackeysb:
我知道是什么回事,因为我也遇到过,你把窗体BorderStyle属性改为bsNone就ok拉,实在需要窗体的关闭和最小化等那些系统功能,可以以Panel的形式在上面自己画些关闭、最小化按钮代替原来的窗体系统功能就ok拉
 
是不是showmodal有问题,模式窗体的父窗体没办法得到输入焦点,可以试试用show方法显示
 
谢谢popi大大,就是这个原因,也感谢各位大大的参与
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
512
import
I
I
回复
0
查看
629
import
I
后退
顶部