首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

请问一个C++/CLI调用窗口的有关问题

2012-01-31 
请教一个C++/CLI调用窗口的问题我用C++/CLI建了一个工程,在Form1里面添加了一个activeX控件,现在我想在非

请教一个C++/CLI调用窗口的问题
我用C++/CLI建了一个工程,在Form1里面添加了一个activeX控件,现在我想在非托管的代码里面能够直接调用Form1这个容器里面的控件的方法,有没有什么办法可以实现?非托管的代码不在同一个命名空间,也不在同一个文件中.

以前用MFC很方便就实现了,因为MFC支持全局的指针.但Form^不支持全局的.

查了好久的资料,觉得可能用GCHandle来实现或许有可能.尝试了很多次,均不能成功实现.就上来请教了.
我自学C++以及C++/CLI,请各位过来人指点一二.感激不尽.

[解决办法]
引用Form1的命名空间,并将Activex控件设为public,即可访问。
[解决办法]
static Form1^ f1;
.....

[解决办法]

探讨

这种做法还是不行,因为Application::Run(gcnew Form1());这个语句不支持创建一个静态对象.
thanks.

[解决办法]
还有别的方式,记录那个窗口的handler
intptr h = form1.handler
把它传个外部
在别的函数里通过

Form1::FromHandle(h); 获取那个窗体
总之很多,不要把思维局限

热点排行