我的设计是程序运行后首先出现登陆界面,登陆成功转到主要的功能界面,登陆界面自动关闭。
但是登陆界面是主界面,没办法关或者隐藏,最接近的办法是隐藏GroupBox,把界面最小化,但是还是不好看。怎么解决呢?
我试过把功能界面和登陆做在一起,做一个菜单,功能项先为灰色。但是登陆成功后仍然没办法从登陆的小界面把功能菜单项打亮。怎么解决呢?
这两种办法有一个能解决就可以了。
谢谢!
但是登陆界面是主界面,没办法关或者隐藏,最接近的办法是隐藏GroupBox,把界面最小化,但是还是不好看。怎么解决呢?
我试过把功能界面和登陆做在一起,做一个菜单,功能项先为灰色。但是登陆成功后仍然没办法从登陆的小界面把功能菜单项打亮。怎么解决呢?
这两种办法有一个能解决就可以了。
谢谢!
unit2.form1.show;要互相包含才能互相使用(引用)对方的资源.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TloginForm = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
loginForm: TloginForm;implementation{$R *.dfm}procedure TloginForm.Button1Click(Sender: TObject);
begin
if Edit1.Text = '1234' then ModalResult := mrOk
else ModalResult := mrCancel;
end;end.然后你将工程文件按照下面的写法写,就会先出现登陆窗体,如果密码正确,则显示主窗体,否则,程序结束program Project2;uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {loginForm};{$R *.res}begin
Application.Initialize;
try
loginForm := TloginForm.Create(nil);
if loginForm.ShowModal = 1 then
begin
Application.CreateForm(TForm1, Form1);
// Application.CreateForm(TForm2, Form2);
Application.Run;
end else Application.Terminate;
finally
loginForm.Free;
end;
end.
登录窗口里进行身份验证,验证成功后执行
Hide;
MainForm.Show;
或者visible := False注意关闭应用时还需要处理啊!
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
application.ShowMainForm := false;
form2.Show;
Application.Run;
form2 作为登陆窗口就好了.