如何让第2个窗体最小化到任务栏中? ( 积分: 50 )

  • 主题发起人 主题发起人 oldnew
  • 开始时间 开始时间
O

oldnew

Unregistered / Unconfirmed
GUEST, unregistred user!
一个Application,有2个窗体:frmMain、frmTest
其中frmMain是主窗体,里面有个按钮用来显示frmTest(用Show,不是ShowModal)

要求:当最小化frmTest时,能够缩到任务栏中
请问如何才能做到这种效果???谢谢

我写的代码如下,无法达到上述效果:
type
TfrmMain = class(TForm)
btn1: TButton;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
FfrmTest: TfrmTest;
public
{ Public declarations }
end;

var
frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.btn1Click(Sender: TObject);
begin
FfrmTest.Show;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
FfrmTest:=TfrmTest.Create(nil);
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
FfrmTest.Free;
FfrmTest:=nil;
end;
 
一个Application,有2个窗体:frmMain、frmTest
其中frmMain是主窗体,里面有个按钮用来显示frmTest(用Show,不是ShowModal)

要求:当最小化frmTest时,能够缩到任务栏中
请问如何才能做到这种效果???谢谢

我写的代码如下,无法达到上述效果:
type
TfrmMain = class(TForm)
btn1: TButton;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
FfrmTest: TfrmTest;
public
{ Public declarations }
end;

var
frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.btn1Click(Sender: TObject);
begin
FfrmTest.Show;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
FfrmTest:=TfrmTest.Create(nil);
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
FfrmTest.Free;
FfrmTest:=nil;
end;
 
很好做呀:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
private
{ Private declarations }
protected
procedure CreateParams(var Params: TCreateParams)
override;
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;

end.
 
后退
顶部