MessageBox()弹出来后,竟然可以和弹出它的对话框之间互相切换焦点,即下面的窗口也可以用鼠标点击、拖动等,不过这是偶然情况,但确实会出现,大部分时候是不会这样的,目前还没找到这种问题必然出现的规律,是什么原因呢?

解决方案 »

  1.   

    第一个参数是父窗口指针,如果传入NULL,就会出现这种效果。
    传入当前窗口指针。
      

  2.   

    只有父子关系时,才会是在最上层!
    otherwise, its parent is desktop.furthermore, it can be use in non-UI thread, with NULL as parent window.
    without disturb the thread's running.
      

  3.   

    已经指定了啊,我是用父窗口的指针去调用MessageBox()的,而且这种情况是偶然才出现,但确实存在。如:
    strText = "OK";
    strText = "Prompt";
    // m_dlgParent是父窗口的指针 
    m_dlgParent->MessageBox(strText, strMsg, MB_ICONINFORMATION);
      

  4.   

    没有指定父窗体,呵呵~我也遇到过,如果窗体是TopMose的更惨,弹出一大堆警告对话框都不知道~~
      

  5.   

    ::MessageBox(this->GetSafeHwnd(),"content","caption",MB_OK);
    or 
    AfxMessageBox