着急;怎么让MDI子窗口Showmodal出来的窗口不在任务栏产生图标?
MDIChild在从dll中载入,我想让它和正常MDI一样,子窗体showmodal出来的窗口在任务栏没有图标显示。

解决方案 »

  1.   

    SetWindowLong(Application.Handle,
    GWL_EXSTYLE,WS_EX_TOOLWINDOW);form的create事件中加上这一句
      

  2.   

    你ShowModal 出来的一定不是MDI的子窗口
      

  3.   

    看来我没有说清楚:
      FMain
      FChild
      FChild.button1Click(Sender)
      begin
        FModal.ShowModal;
      end;FModal在任务栏会产生一个图标
      

  4.   

    同意,
    你ShowModal 出来的一定不是MDI的子窗口
    而且可以说根本就是子窗口,
    如果你指定他的父句柄是主窗体或者程序的话,任务栏上不会出现任何东西的。
      

  5.   

    子窗体只能是show的吧 showmodal是不可以的吧
      

  6.   

    希望一下能简单的描述我的意思:
    //exe中代码
    FMain.mmN1Click(Sender :TObject)                //FMain为MDIFORM
    begin
      //该方法从dll中导入
      //原型:GetClassType(var ClassType TBaseForm)
      //TBaseForm:是一个从TForm派生的类,所有子窗体都从这个基类派生
      GetClassType(Tf);  
      FChild:= tf.Create(Application)            //f为子窗体
      FChild.Show;
    end;//dll中的代码
    FChild.Button1Click(Sender :TObject)
    begin
      FModal := TFModal.Create(Application);
      FModal.ShowModal;
    end;
      

  7.   

    大家看清楚,我没有说我是把子窗体showmodal出来。
    我是说,子窗体已经show出来了,然后点击子窗体上的按钮,
    弹出一个窗口(以showmodal或者show方式,不是子窗体),
    这个弹出窗体在任务栏有图标
      

  8.   

    补充:
     我的exe工程和dll工程->Poject->Options->packags->Build with runtime packages
     已选中
      

  9.   

    不是吧,大侠们,子窗体是可以Showmodal的吧,我就做过一个登录窗体是用子窗体的Showmodal做的。子窗体是可以Showmodal的.
      

  10.   

    谢谢flyforlove(为情飞) ( ) 问题解决了,给分FChild.Button1Click(Sender :TObject)
    begin
      FModal.ParentWindow := Self.Handle;   //这句 
      FModal := TFModal.Create(Application);
      FModal.ShowModal;
    end;
      

  11.   

    把你的FormStyle设为fsNormal;
    在程序中判断  if bModal then   //bModal为你的显示方式。
        ShowModal
      else
        formstyle:=fsmdichild; //MDI方式