delphi中Mdi如何处理登陆窗体
有个朋友问这个
问题,正好我知道,所以就发出来给大家共享了,
程序启动时首先
登陆界面,这个是普通窗体,不是mdi子窗体;然后由登陆窗体启动MainForm也就是主窗体!
program HouseManage;
uses
Forms,
Controls, //必须有这个,否则mrOK无定义
MainFrm in 'MainFrm.pas' {MainForm},
DengjiFrm in 'DengjiFrm.pas' {DengjiForm},
LoginFrm in 'LoginFrm.pas' {LoginForm};
{$R *.res}
begin
Application.Initialize;
Application.Title := '房地产销售
软件';
Application.CreateForm(TMainForm, MainForm);
LoginForm:=TLoginForm.Create(Application);
if LoginForm.ShowModal<>mrOK then
Application.Terminate;
// Application.CreateForm(TLoginForm, LoginForm);
Application.Run;
end.
=======================
unit LoginFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, Mask, WinSkinData,SkinCaption,te_controls;
type
TLoginForm = class(TForm)
Image1: TImage;
LoginUser: TComboBox;
LoginPass: TMaskEdit;
TeButton1: TTeButton;
TeButton2: TTeButton;
SkinData1: TSkinData;
SkinCaption1: TSkinCaption;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure TeButton2Click(Sender: TObject);
procedure TeButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
LoginForm: TLoginForm;
implementation
uses MainFrm;
{$R *.dfm}
procedure TLoginForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if MessageDlg('退出系统?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Application.Terminate
else
CanClose:=False;
end;
procedure TLoginForm.TeButton2Click(Sender: TObject);
begin
if MessageDlg('退出
系统?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Application.Terminate;
end;
procedure TLoginForm.TeButton1Click(Sender: TObject);
begin
if (LoginUser.Text='admin') and (LoginPass.Text='admin') then
begin
LoginForm.Hide;
MainForm.Show;
end;
end;
end.