J Jetideas Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-18 #2 将子窗体的pas uses到父pas中, 再调用子窗体中的方法。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-18 #3 frmMDI.ActiveMDIChild就是当前的child form.
J Jetideas Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-18 #4 用的时候还要类型强制转换一下 TMDIChildForm(MainMDIForm.ActiveMDIChild). ...
A Alarm Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-18 #5 父窗体、子窗体都是从TForm派生出来的对象,无论是不是MDI Form都一样,所以它 们相互操作实际上就是不同的对象之间(两个对象存在拥有关系)的操作。 Jetideas的办法是可行的。其实,在父窗体的方法中也可以直接访问子窗体的Publish、 Public成员,例如子窗体上的控件等。
父窗体、子窗体都是从TForm派生出来的对象,无论是不是MDI Form都一样,所以它 们相互操作实际上就是不同的对象之间(两个对象存在拥有关系)的操作。 Jetideas的办法是可行的。其实,在父窗体的方法中也可以直接访问子窗体的Publish、 Public成员,例如子窗体上的控件等。
A Alarm Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-18 #6 补充:至于名字嘛,就是子窗体的类名+'.'+要访问的类成员(或类属性)了。例如: 子窗体名为ChildForm,要访问其Canvas属性,就是ChildForm.Canvas。
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-18 #7 不用强制转换就行. procedure TForm1.Button1Click(Sender: TObject); var ThForm: TForm; begin TheForm := Form1.ActiveMDIChild; TheForm.WindowState := wsMinimized; end;
不用强制转换就行. procedure TForm1.Button1Click(Sender: TObject); var ThForm: TForm; begin TheForm := Form1.ActiveMDIChild; TheForm.WindowState := wsMinimized; end;
G gravel Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-20 #8 你们说的我都试过了,但是还是不行,如子窗体的publish声明了 一个过程 breline; 怎样在父窗体调用他。(form1:父窗体 formchild:子窗体)
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-20 #9 直接使用了 TheForm := Form1.ActiveMDIChild; theform.breline; 如果form1中添加use:formchild.pas了, 就可以: formchild.breline;就可以了.
直接使用了 TheForm := Form1.ActiveMDIChild; theform.breline; 如果form1中添加use:formchild.pas了, 就可以: formchild.breline;就可以了.
D DreamTiger Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-27 #10 (Form1.ActiveMDIChild as TMDIChild).breline;