有两个窗体。一个是登录窗口,另一个是主窗口。
在项目中自动创建第一个窗体,不自动创建第二个窗体,第二个窗体由第一个窗体事件产生。
问题是:点击第二个窗体的最小化按钮,窗体会在左下脚产生一个标题条。
按常例应该会到任务拦。为什么DELPHI自动窗体不会有这样的问题。
如何解决这个问题?QQ也有这样的问题:登录窗口最小化也是这样。程序代码
-------------------------------------------------
program czglapp;uses
Forms,
login in 'login.pas' {Form1},
main in 'main.pas' {Form2};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
----------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
if not assigned(form2) then
begin
form2:=tform2.Create(self);
end;
try
form2.Showmodal;
finally
form2.Free;
form1.close;
end;
end;
--------------------------------------------------------
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
----------------------------------------------------
在项目中自动创建第一个窗体,不自动创建第二个窗体,第二个窗体由第一个窗体事件产生。
问题是:点击第二个窗体的最小化按钮,窗体会在左下脚产生一个标题条。
按常例应该会到任务拦。为什么DELPHI自动窗体不会有这样的问题。
如何解决这个问题?QQ也有这样的问题:登录窗口最小化也是这样。程序代码
-------------------------------------------------
program czglapp;uses
Forms,
login in 'login.pas' {Form1},
main in 'main.pas' {Form2};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
----------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
if not assigned(form2) then
begin
form2:=tform2.Create(self);
end;
try
form2.Showmodal;
finally
form2.Free;
form1.close;
end;
end;
--------------------------------------------------------
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
----------------------------------------------------
解决方案 »
- 如何屏蔽键盘的所有键 并且将光标囚禁在某个区域
- 史上又诞生了个最水的星星。升星,散分!
- sql 查询100分
- web打印
- 我刚刚安装了ThemeEngine,但不知道怎么用?
- 在fastreport中如何统计每页的打印记录数?
- 怎样使BUTTON的标题改变颜色
- Web Service开发完成后,如何将Web App Debugger Executable类型的应用程序编译成ISAPI或CGI类型
- 各位高手,一个关于SDI与MDI的问题!
- 请教怎样在memo中显示网页?
- 请问有没有像IE中的输入框那样的控件,在输入第一个字后就把相应的词提示出来。
- 一个莫名其妙的现象,大家近来看看,内存变化问题-----在线等待
Forms,
Login in 'pas\Login.pas' {Loginfrm},
Start in 'pas\Start.pas' {Form1},
DM in 'pas\DM.pas' {DataModule1: TDataModule},
main_frm in 'pas\main_frm.pas' {GLB_main},
YHXXCX_frm in 'pas\YHXXCX_frm.pas' {YHXXCX},
FWZD_frm in 'pas\FWZD_frm.pas' {FWZD},
YHZD_frm in 'pas\YHZD_frm.pas' {YHZD},
YHLR_frm in 'pas\YHLR_frm.pas' {YHLR},
XD_frm in 'pas\XD_frm.pas' {XD},
XZYHFW_frm in 'pas\XZYHFW_frm.pas' {XZYHFW1},
XD2_frm in 'pas\XD2_frm.pas' {XD2},
ZLGX_frm in 'pas\ZLGX_frm.pas' {ZLGX},
ZYGXJL_frm in 'pas\ZYGXJL_frm.pas' {ZYGXLB},
FYJL_frm in 'pas\FYJL_frm.pas' {FYGXLB};{$R *.res}begin Application.Initialize;
form1:=Tform1.Create(Application);
form1.show;
form1.update;
try
Application.Title := 'aaaaaaaaaaaaa';
Application.CreateForm(TDataModule1, DataModule1);
datamodule1.ADOConnection1.Connected:=true;
Application.CreateForm(TGLB_main, GLB_main);
Application.CreateForm(TLoginfrm, Loginfrm);
form1.Free;
if loginfrm.ShowModal=1 then Application.Run
else
Application.Terminate;
except
Application.MessageBox('连接数据库失败!!!','连接数据库');
form1.Free;
Application.Terminate;
end;
end.
可以说具体点吗?
form1.free应该加在哪里?
你的GLB_main,Loginfrm这两个窗体在单击最小化按钮时是否有区别。我问的是这个。
看你的Loginfrm在单击最小化按钮时的位置。
我是让这两个窗体最小化时一样。
begin
if not assigned(form2) then
begin
form2:=tform2.Create(self);
end;
try
form2.Showmodal;
finally
form2.Free;
end;
end;
不明白..........
声明方法:
private
protected
procedure CreateParams(var Params: TCreateParams); override;
{ Private declarations }
public
{ Public declarations }
end;重载:
procedure Tform1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;注意:FORMSTYLE属性都该为FSNOMORL
重载后,两个窗口都在任务栏显示了。可以做到只有一个吗?