组件线程模型的问题,如何保证组件和客户共享一个套间 我创建了一个组件,套间模型。客户使用CoInitialize初始化。组件本身是一个子窗口(属性单),我在创建它的时候指定了父窗口的句柄。使用Spy++发现组件的父窗口句柄确实是我传给它的窗口的父窗口的句柄。 但是我发现组件的窗口并不真正是我的应用的窗口的子窗口,根据它的表现,应该是桌面的子窗口,但是这又和Spy++中显示的不一致,我怀疑组件和它的客户端处于不同的线程中,但是它们的线程模型是兼容的。所以我非常迷惑,请诸位高手指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用SPY++看看有无多余线程即可 ruihuahan(飞不起来的笨鸟) ( ) 可以把,比如SDI中的About对话框我觉得有可能是COM库创建的线程用于阻塞方法调用 我的组件没有自己的消息循环,它就是一个属性页,并且支持几个自定义的接口。 用Spy ++查看的时候组件和它的客户的线程的ID确实是一个,但是组件的窗口可以在它的客户的窗口的外边移动(理论上,子窗口是不能移动到父窗口的外面的)。 子窗口可以移动到父窗口外面。子窗口的类型是popup的时候(对话框一般都是popup类型)可以移动到父窗口外面。你是不是因为这个原因,一直认为你的子窗口的父窗口是桌面呢? 在窗口过程中用Se1ect0bject改变画刷或画笔,怎么没反应? 请教关于struct和carray 按一下键盘的回车在MFC中算三个字符? 请帮助提取网页连接出错的问题 如何动态创建一个ATL复合控件到视图或对话框上? 有人可以帮忙弄计算机方面的翻译吗? 为什么我装Visual C++ Assistant后,vc打开以前的程序老是有问题? 在一台机器上编译好得程序换一台机器运行不了,为什么 关于OpenGL 有谁邮购的《深入浅出MFC》到手了? 哪个打包软件比较好?我想把程序打包 createprocess成功后怎么中途退出进程sos
可以把,比如SDI中的About对话框
我觉得有可能是COM库创建的线程
用于阻塞方法调用
用Spy ++查看的时候组件和它的客户的线程的ID确实是一个,但是组件的窗口可以在它的客户的窗口的外边移动(理论上,子窗口是不能移动到父窗口的外面的)。
子窗口的类型是popup的时候(对话框一般都是popup类型)
可以移动到父窗口外面。
你是不是因为这个原因,一直认为你的子窗口的父窗口是桌面呢?