在工程APP1中有FORM1,FORM2,FORM3个窗体,FORM1启动后可建立FORM2或FORM3,一般情况,窗体建立后,都运行在APP1中,也就是说,任务栏上只有一个APP1‘窗口1’
现在要求:FORM2和FORM3能创建不同的APP,也就是说任务栏上能同时出现‘窗口1’,‘窗口2’,‘窗口1’,且3个都必须在同一工程项目中设计,怎么做??

解决方案 »

  1.   

    都运行在APP1中可以用MDI很容易实现,可以同时都显示在任务栏,晕了……
      

  2.   

    楼主应该要的是和word一样的功能吧
      

  3.   

    自己参考一下-----Unit1-----unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }  public
        { Public declarations }
        procedure CreateParams(var Params: TCreateParams); override;
      end;var
      Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not Assigned(Form2) then
        Form2 := TForm2.Create(nil);
      Form2.Show;
    end;procedure TForm1.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
      Params.ExStyle := WS_EX_APPWINDOW;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      SetWindowLong(Application.Handle,GWL_EXSTYLE,
        GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
    end;end.---Unit2---unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm2 = class(TForm)
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure CreateParams(var Params: TCreateParams); override;
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
      Params.ExStyle := WS_EX_APPWINDOW;
    end;procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := caFree;
    end;procedure TForm2.FormDestroy(Sender: TObject);
    begin
      Form2 := nil;
    end;end.