Delphi实现登录窗体与主窗体的过程

本文介绍如何在Delphi程序中使用Modal回调机制实现登录验证,登录成功后动态创建主界面,提供了一种优雅的窗口管理方式。
该文章已生成可运行项目,

对工程dpr==>view source可看到

Application.CreateForm(TloginForm, loginForm);
Application.CreateForm(TmainForm, mainForm);

Delphi会默认第一个为主窗体。这种方式其实也是可以的,控制好窗体的show和hide。在login确认后,loginForm.hide;mainForm.show;

但有更好的方式,通过Modal回调来告诉程序是否创建主窗体。

首先在loginForm中声明并编写方法

class function Execute: boolean;
class function TloginForm.Execute: boolean;
begin
  with TloginForm.Create(nil) do
    try
      Result := ShowModal = mrOk;
    finally
      Free;
    end;
end;

该方法会创建loginForm窗体,一旦回调参数为mrok即释放登录窗体。在登录页的确认按钮下写下

ModalResult:=mrOK;

在退出/关闭按钮中写下

//只要状态不是mrok的都可以
ModalResult:=mrerror;

在dpr的source中执行该方法

  if TloginForm.Execute then
  begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TmainForm, mainForm);
    Application.Run;
  end
  else
  begin
    Application.Terminate;
  end;

上面表示,启动该程序时,将会动态创建loginForm窗体,一旦确认登录后,将会进入True中,也就是初始化窗体,创建mainForm。一旦点击退出或者关闭时进入False中,调用application.terminate退出并释放程序。

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值