首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

窗口间通信有关问题

2012-03-03 
窗口间通信问题我在form1上有一个button,按下后,动态生成非模窗口form2.现在我按两次button,生成两个form2

窗口间通信问题
我在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实例都可以收到自定义消息。

热点排行