对话框A和对话框B的父窗口是同一个,都是非模态对话框。都创建出来之后,比如对话框B被其它窗口遮住了,这个时候我点击对话框A,对话框B也一起冒出来了。。请问怎样做才能让对话框B不一起冒出来。。谢谢。。

解决方案 »

  1.   

    在Create非模态对话框的时候同时指定其在显示器中的位置(让他们不重叠),不行吗?
      

  2.   

    其实代码很简单,比如,在主对话框类的OnInitDialog()里,
    m_pdlgTest = new CMyDlg(this);
    m_pdlgTest->Create(IDD_DLG_TEST, this);
    m_pdlgTest->ShowWindow(SW_SHOW); m_pdlgTest2 = new CMyDlg(this);
    m_pdlgTest2->Create(IDD_DLG_TEST, this);
    m_pdlgTest2->ShowWindow(SW_SHOW);
    这就是代码了。你移动某个其它窗口遮住m_pdlgTest,然后点击m_pdlgTest2,m_pdlgTest也会跟着显示到最前。
      

  3.   


    对的,或者把父窗口设为桌面窗口,就没这个问题。难道Windows就是这样设计的?无解?看来1楼放弃是对的~~我的表达有那么差么,N多人没理解我的问题 = =
      

  4.   

    两个窗口是要同时使用么?不是的话,要用得那个SW_SHOW,不用的那个SW_HIDE好了...