请问一下如何让本程序的所有窗口保持在最前(包括MessageDlg、Showmessage等等)?就像任务管理器一样,不被其它窗口所覆盖,谢谢。formstyle属性设置为fsstayontop行不通,只有母窗口最前,而MessageDlg、Showmessage等等却不能。

解决方案 »

  1.   

    你把窗体的DefaultMonitor属性设为dmDesktop,
    SendMessage({窗体Handle}, WM_SYSCOMMAND, SC_RESTORE, 0);
      

  2.   

    DefaultMonitor属性的选项都是什么意思啊,我测试了一下,没有发现任何区别啊
      

  3.   

    DefaultMonitor属性是多窗体时,让某个窗体显示在最前面是设置为dmDesktop。
      

  4.   

    SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
      

  5.   

    将窗体的FormStyle属性,设置为fsStayOnTop。
      

  6.   

    SetWindowPos()函数来实现