Constructor TDestForm.Create(AOwner: TComponent); begin inherited Create(AOwner); if AOwner.Classtype = TForm1 then label1.caption := 'Form1' else if AOwner.Classtype = TForm2 then label1.caption := 'Form2' else if AOwner.Classtype = TForm3 then label1.caption := 'Form3' ... end;procedure TForm1.CallDestForm; var fmDest: TDestForm; begin fmDest := TDestForm.Create(self); ... end; ...
太深,不是很懂,还得劳烦一下大家给条活路,我的代码贴出来 procedure Tbatsaleform.N2Click(Sender: TObject); begin application.CreateForm(Tattribform,attribform); attribform.Show end;procedure Tdistform.N2Click(Sender: TObject); begin application.CreateForm(Tattribform,attribform); attribform.Show; end;上面是二个源窗口;procedure Tattribform.FormShow(Sender: TObject); var i:integer; begin combobox1.Clear; for i:=0 to distform.dbgrideh1.Columns.Count-1 do begin combobox1.Items.add(distform.DBGridEh1.Columns[i].FieldName); end end; 这是打开的窗口,我想把distform.dbgrideh1.Columns中的distform换成变量,从那个窗口打开,我就取那个窗口的名称感 谢大家
begin
inherited Create(AOwner);
if AOwner.Classtype = TForm1 then
label1.caption := 'Form1'
else if AOwner.Classtype = TForm2 then
label1.caption := 'Form2'
else if AOwner.Classtype = TForm3 then
label1.caption := 'Form3'
...
end;procedure TForm1.CallDestForm;
var
fmDest: TDestForm;
begin
fmDest := TDestForm.Create(self);
...
end;
...
不过我一般都是自动创建窗体的
用的时候直接从form1打开
tmpform.label1.caption='form1';
tmpform.show;
....
procedure Tbatsaleform.N2Click(Sender: TObject);
begin
application.CreateForm(Tattribform,attribform);
attribform.Show
end;procedure Tdistform.N2Click(Sender: TObject);
begin
application.CreateForm(Tattribform,attribform);
attribform.Show;
end;上面是二个源窗口;procedure Tattribform.FormShow(Sender: TObject);
var
i:integer;
begin
combobox1.Clear;
for i:=0 to distform.dbgrideh1.Columns.Count-1 do
begin
combobox1.Items.add(distform.DBGridEh1.Columns[i].FieldName);
end
end;
这是打开的窗口,我想把distform.dbgrideh1.Columns中的distform换成变量,从那个窗口打开,我就取那个窗口的名称感 谢大家
procedure Tattribform.Button1Click(Sender: TObject);
我还有上面二个事件,都是根据源窗口的名称来的,最好能设个全局变量,
谢谢大家
设置个全局变量也可以啊比如设置全局变量 var Own: String;
从FORM1打开,在Form1中的打开窗口事件中,Own:= 'Form1';窗口中的label.Caption:= Own;
大哥,变量类型如果是字符串型的也就好搞点,我想在的类型是Tform类型的,请在帮忙给个方法吧