我需要使一个窗口始终保持前置,同时又无法通过单击状态栏中的页面最小化,我用过StayOnTop属性,但是太霸道了,Hide后还怎么操作呀!
就是实现像Delphi工程文件那样,无论多少窗体,都只在状态栏显示一个工程名字,不过我做的是COM Server,失去了这个效果。请教!

解决方案 »

  1.   

    to netlib:最小化按钮去掉后,依然可以通过单击该窗体在状态栏的页面标志,使其最小化。
      

  2.   

    问题很难描述清楚,总之,只要能使一个窗体无法在windows下边的状态栏显示就可以了。求教高手,急!
      

  3.   

    SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
      

  4.   

    做成MDI,这样一来不论有多少个窗体,下面的系统任务栏只显示主窗体
    可以满足你的要求.
      

  5.   

    做成MDI,其它窗体设成STAYONTOP,OK!
      

  6.   

    我的主窗体是个进程内COM Server(dll),用于扩展IE,不知能否支持MDI,而且我也没编过子窗体程序,只能试试了,谢谢各位!
      

  7.   

    procedure TForm1.FormOnCreate(Sender: TOBject);
    begin
    SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    end;在WindowsNT和2000中,需要得到管理员权限。
      

  8.   

    两种方法:
    1)在MainForm的OnShow事件中写上
      ShowWindow(Application.Handle,SW_Hide);
    2)在MainFrom的OnCreate事件中写上
      SetWindowLong(MainForm.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
      

  9.   

    to  zfpcb(我是你的传说) and  blazingfire(烈焰):我试了,但是就是不行,不知怎么回事,先谢谢了。
      

  10.   

    看一看行不行?
    //声明
    procedure WMSyscommand(var Msg:TWMsyscommand);Message:WM_Syscommand;
    procedure WMSyscommand(var Msg:TWMsyscommand);
    begin
      case Msg.cmdType of
            sc_MINISIZe:Hide;
      else
           Inherited;
      end;
    end;