当前帧处于“阻塞”的状态,但是由于另外起了一个消息队列,因此可以继续响应Windows消息(Render,键盘,鼠标等)。可以达到让UI停留在某个调用,但是又不阻塞交互的目的。
比如说:
Message.Show()
内部就是这么做的。
我做过类似的事情,给你一个具体的思路。1、做好WPF界面控件;
2、借助WPF、WinForm的互 *** 作技术,用WinForm用户控件重新包装一下WPF界面控件(因为WPF控件没有句柄,而WinForm控件有句柄);
3、C++程序中预留一个空的容器控件,用来放置C#WinForm控件;
4、通过C++/CLR创建WinForm控件的实例,并得到句柄;
5、获取C++容器控件的句柄;
6、通过SetParent将WinForm控件添加到C++容器控件中。
还有一种方式是,用WinForm把WPF界面控件包装成COM对象,然后C++调用COM对象即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)