在ActiveForm中首先出现登陆窗口,密码正确后进入下一个界面窗口如何做啊?(50分)

  • 主题发起人 主题发起人 火球
  • 开始时间 开始时间

火球

Unregistered / Unconfirmed
GUEST, unregistred user!
在ActiveForm中首先出现登陆窗口,密码正确后进入下一个界面窗口如何做啊?
登陆窗口和主窗口都要在同一浏览器中出现。或者用其他的方式?
总之目的为:验证密码,密码正确进入主窗口
 
你可以把ActiveForm做成两个panel
前面一个房登录panel. 登录成功后loginpanel.sendtoback;
后面一个才是真正的ActiveForm.我就是这样做的
因为反正登录窗口在浏览器中是没有标题栏的.
 
还有一个正宗一点的方法
就是在ActiveForm.create中调用登录窗口,这个时候登录窗口是一弹出框显示的,
showmodul后,如果不成功就
PostMessage(self.handle, WM_CLOSE, 0, 0);
application.Terminate;
Screen.Cursor := crDefault;
搞定(好多系统都是这么实现的)
 
传统的作法:
在主窗口的ONCREATE事件中,调用登录窗口。登录窗口中验证密码。错误时,关闭程序。
(Form_main 是:主窗口 Form_login 是:登录窗口)
procedure TForm_main.FormCreate(Sender: TObject);
var
Form_login: TForm_login;
begin
....//其它初始化操作
//登录
begin
Form_login := TForm_login.Create(Self);
try
Form_login.ShowModal
finally
Form_login.Free;
end;
end;
end;
 
修改dpr文件!
program projectdiary;

uses
Forms,
unitdiary1 in 'unitdiary1.pas' {start},
Unitdiary2 in 'Unitdiary2.pas' {mmxg},
Unitdaps in 'Unitdaps.pas' {diarydata: TDataModule},
Unitdiary3 in 'Unitdiary3.pas' {mainsetup},
Unitdiary4 in 'Unitdiary4.pas' {fmdiary},
Unitdiary5 in 'Unitdiary5.pas' {recd},
Unitdiary6 in 'Unitdiary6.pas' {selfzz},
Unitdiary7 in 'Unitdiary7.pas' {alter};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(Tfmdiary, fmdiary);
Application.CreateForm(Tmmxg, mmxg);
Application.CreateForm(Tstart, start);
Application.CreateForm(Tdiarydata, diarydata);
Application.CreateForm(Tmainsetup, mainsetup);
Application.CreateForm(Trecd, recd);
Application.CreateForm(Tselfzz, selfzz);
Application.CreateForm(Talter, alter);
start.ShowModal;/////这里加上就行了!
Application.Run;
end.
 
多人接受答案了。
 
说得不错,就是这样
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部