创建很多子窗口1,再在子窗口1创建子窗口2

先创建主窗口(mainform)、子窗口1(childform1)、子窗口2(childform2)。

在主窗口(mainform)中new出 子窗口1(childform1) ,再在子窗口1中new出窗口2(childform2),但是窗口2中无法调用子窗口1中的数据(这样调用的:childform1->Edit1...),是因为子窗口1没有句柄无法调用吗?那应该怎么实现?

另外 主窗口要生成很多子窗口1,那么子窗口2 如何知道自己是被哪个子窗口1生成的呢?

---------------------------------------------------------------------------------------------------------------------------------------

重载子窗口2的构造函数,将子窗口1的实例名字传入。

childform2单元的头文件中:

// 换成你的childform1的头文件名

C/C++ code
?
1
2
3
4
5
6
7
8
#include "Unit1.h"
 
...
private :
     TForm1 *m_Form1;
public :   
     __fastcall TForm2(TComponent* Owner, TFom1 *Form1);
...

在childform2的.cpp文件中:

C/C++ code
?
1
2
3
4
__fastcall TForm2::TForm2(TComponent* Owner, TFom1 *Form1)
     : TForm(Owner), m_Form1(Form1)
{
}


childform1中生成childoform2:
C/C++ code
?
1
TForm2 *frm =  new  TForm2(Application,  this );


然后就可以在childform2的成员函数中使用m_Form1->Edit1这样的方式直接访问childform1的成员了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值