窗口间通信问题
我在form1上有一个button,按下后,动态生成非模窗口form2.
现在我按两次button,生成两个form2的对象,如何使这两个窗口通信?
我试了共享内存,好像不起作用。
[解决办法]
在一个进程里面不用那么麻烦,动态生成的表单可以直接引用的。
[解决办法]
在主Form上面 定义数据
然后分别在Form1 Form2包含
然后就可以使用这个公有数据了
[解决办法]
因为你无法知道目前有多少个Form2实例,所以在发送消息时,枚举当前所有已存在的窗体,然后判断窗体类名,如果是TForm2的实例,就向其发送自定义消息。
for(int i=0; i <Screen-> FormCount; i++)
{
if(Screen-> Forms[i]-> ClassNameIs( "TForm2 ")) // Form2的类名
{
SendMessage(Screen-> Forms[i]-> Handle, 自定义消息, 参数1, 参数2);
}
}
这样每个Form2实例都可以收到自定义消息。