gpt4 book ai didi

forms - Delphi模态登录表单最小化后不恢复

转载 作者:行者123 更新时间:2023-12-03 15:36:22 25 4
gpt4 key购买 nike

我创建了一个 Delphi 2010 应用程序,它通过 Application.Initialize 之前的函数显示模式登录表单。登录表单不是我的主表单。这是我的登录表单的代码:

unit frmLogin_u;

interface

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

type
TfrmLogin = class(TForm)
edtPass: TEdit;
btnLogin: TButton;
procedure btnLoginClick(Sender: TObject);
private
{ Private declarations }
public
class function Execute: Boolean;
end;

var
frmLogin: TfrmLogin;

implementation

{$R *.dfm}

{ TForm2 }

procedure TfrmLogin.btnLoginClick(Sender: TObject);
begin
if edtPass.Text = 'Delphi' then
ModalResult := mrOk
else
MessageDlg('Incorrect password.', mtError, [mbOk], 0);
end;

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

end.

这是我的应用程序的源代码:

program frmLogin_p;

uses
Forms,
frmMain_u in 'frmMain_u.pas' {frmMain},
frmLogin_u in 'frmLogin_u.pas' {frmLogin};

{$R *.res}

begin
if TfrmLogin.Execute then
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end;
end.

这是我的问题:当显示登录表单时,即使其边框样式设置为 bsDialog,当通过单击其任务栏图标最小化表单时,单击任务栏图标后我似乎无法恢复它再次。所以现在我需要通过任务管理器关闭应用程序并重新打开它,因为我无法在最小化时恢复或关闭它。

有谁知道为什么会发生这种情况以及我可以采取什么措施来解决该问题?

最佳答案

如果你这样做:

program Project2;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
if TForm2.Execute then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.

不在任务栏中显示图标。不知道能不能解决你的问题。

关于forms - Delphi模态登录表单最小化后不恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com