主窗口用SetWindowPos后显示在最项,如果showmessage('OK')则showmessage窗口会在主窗口前面,但由于其它原因,showmessage却在主窗口的下面了(被主窗口盖住了),这时主窗口点不动,好象程序死了一样,其实没有死,只是活动窗口showmessage在主窗口下面,无法响应鼠标等输入。就好象是程序死了一样,这个问题如何避免?

解决方案 »

  1.   

    兄弟,别用showmessage,改用MessageBox(self.handle,'测试','测试',MB_OK or MB_ICONERROR);MessageBox第一个参数指定了弹出窗口的parent,应该可以解决你的问题
      

  2.   

    你详细查一下help里的MessageBox方法的调用
      

  3.   

    MessageBox(Handle,   'hello',   'abc',   0);
      

  4.   

    MessageBox(Handle,'提示框标题','提示框内容', MB_ok);
      

  5.   

    楼上的错了
    MessageBox(Self.Handle,'提示框内容','提示框标题',MB_OKCANCEL)
      

  6.   

    上面只是一个例子。如用ShowModal显示自己的子窗口也一样出问题。或者程序有时出错显示错误提示窗口等。
    是否有什么办法检查主窗口在最前面,而子窗口在后面,这样可能是解决问题的根本办法。