delphi6下开发出的软件 有时候弹出的窗口或者对话框会藏在老窗口(主界面)下面 导致鼠标点不动造成假死状态!
偶发性,不会经常出现!
运气不好,一天出现几次。
运气好,一般不会发生。。
大神们,有什么好办法可以避免这个问题么?

解决方案 »

  1.   

    MessageBox的窗口句柄没设置好,比如直接给个0做窗口句柄,的确会发生这样的事情,用MessageDlg一般不会出现,但按钮需要汉化,指定的内容也相对多一点.
      

  2.   

    以前也碰到过这个问题,后来大神ccrun给了个办法,解决了。大神说 一般情况下模态窗口被隐藏在其他窗口后面,是窗口的Z-Order问题可以这样写void __fastcall TForm_Main::Btn_PosCtrlClick(TObject *Sender)
    {
        TFormStyle fs = FormStyle;
        FormStyle = fsNormal;    Form_PosCtrl = new TForm_PosCtrl(this);
        Form_PosCtrl->ShowModal(); 
        delete Form_PosCtrl;    FormStyle = fs;
    }C++代码,供参考
      

  3.   


    XP就没问题了    win7以上都会出现这个问题  我估计可能是电脑系统方面有什么地方要设置下
      

  4.   

    、、
    XP下就没有这种问题了 只有win7以上才有 
      

  5.   


    对了 我MessageBox做过当前窗口句柄了  当前窗口句柄 还是会发生
    代码如下:MessageBox(self.Handle,'XXXXXXXXXXXXXXXXXX','提示(Tips)',MB_OK);
      

  6.   

    Messagebox用application的句柄试试