delphi子窗口先弹出,输入密码后再显示主窗口的formcreat事件
展开全部
以一个全新项目来说,假设Form1为主窗体,Form2为登录窗体
,Form2上放一个CheckBox1 那么:
1.打开项目文件 Project1.dpr,按如下代码修改
2.打开 Unit2.pas 按后面代码修改
之后编译运行,钩上CheckBox1表示登录成功,否则表示登录失败,实际编程时可向 Form2.bLoginOK 赋值。
======================================================
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
var
FrmLogin: TForm2;
begin
Application.Initialize;
FrmLogin := TForm2.Create(nil);
try
FrmLogin.ShowModal;
if not FrmLogin.bLoginOK then
Application.Terminate;
finally
FrmLogin.Free;
end;
Application.CreateForm(TForm1, Form1);
// Application.CreateForm(TForm2, Form2);
Application.Run;
end.
=====================================================
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
CheckBox1: TCheckBox;
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bLoginOK: Boolean;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
bLoginOK := CheckBox1.Checked;
end;
end.
,Form2上放一个CheckBox1 那么:
1.打开项目文件 Project1.dpr,按如下代码修改
2.打开 Unit2.pas 按后面代码修改
之后编译运行,钩上CheckBox1表示登录成功,否则表示登录失败,实际编程时可向 Form2.bLoginOK 赋值。
======================================================
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
var
FrmLogin: TForm2;
begin
Application.Initialize;
FrmLogin := TForm2.Create(nil);
try
FrmLogin.ShowModal;
if not FrmLogin.bLoginOK then
Application.Terminate;
finally
FrmLogin.Free;
end;
Application.CreateForm(TForm1, Form1);
// Application.CreateForm(TForm2, Form2);
Application.Run;
end.
=====================================================
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
CheckBox1: TCheckBox;
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bLoginOK: Boolean;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
bLoginOK := CheckBox1.Checked;
end;
end.
展开全部
现设置一个全局变量(初始值为false),在登陆窗口中通过口令对全局变量进行赋值,口令对了,将变量设置为true,再打开主界面就可以了。不输入口令,就直接退出。
示例如下:
formcreat()
dl.showmodel;
if not passed
then exit ;
.......
示例如下:
formcreat()
dl.showmodel;
if not passed
then exit ;
.......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先在
{$R *.dfm}
uses unit2;
然后在主窗体的onshow事件里写
form2.showmodel;
{$R *.dfm}
uses unit2;
然后在主窗体的onshow事件里写
form2.showmodel;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
何不把输密码子窗口放到前面??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询