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

从C#到C++解决思路

2013-01-23 
从C#到C++刚从C#转来MFC,遇到一问题:在C#里,从主窗口A新建一个非模态的窗口B后,两个窗口都有各自的线程和

从C#到C++
刚从C#转来MFC,遇到一问题:
在C#里,从主窗口A新建一个非模态的窗口B后,两个窗口都有各自的线程和消息循环,就好比单独的两个程序几乎互不影响。
但在MFC里,从主对话框A新建一个非模态的对话框B后,B却是共用A的线程与消息循环(这点可以接受),但却有一个头疼的问题,那就是,B永远在A的上面,就算我点的是A,B还是永远不到A的下面去。并且点其中一个窗口后,另一个窗口也会跟着激活。
试过新建线程,在新线程里创建B,但还是有上面两个问题,就是一个窗口永远在另一个窗口的Z轴上面,并且点其中一个窗口后另一个窗口也会跟着激活。

对于MFC本人是新手,求帮忙如何解决这问题。要求是这样的,我点A窗口,B不会激活,点B窗口A不会激活,并且两窗口重叠时,点B后B会在A上面,点A后A会在B上面,总之就好比两个窗口是两个独立的程序的窗口一样。不管用不用多线程都可以,在C#里就简单的多,直接新建一个窗口显示出来就OK了。
[解决办法]
你非模态建立的时候Create中的Parent参数为NULL就不会有你说的问题了。
[解决办法]
关键看是NEW的对话框是什么对话框,NEW的时候注意传的参数
[解决办法]
创建两个非模态对话框是可以解决问题的!
[解决办法]
你试试将对话框的样式改改  看有不有效果

热点排行