如何在mdi窗口中作登陆窗口?有几种实现方式,
如果用一般窗口启动mdi主窗口,怎么实现。
请给出详细的描述和原码。
如果用一般窗口启动mdi主窗口,怎么实现。
请给出详细的描述和原码。
解决方案 »
- 求助--ToraQuery控件使用的問題
- 采用存储过程上传的问题
- 散分保平安,散得就是爽
- 如何从一个TBitmap中剪切 局部 图片到 另一个TBitmap中或一个TImage中??
- treeview如何展开一个节点?
- 用ADO的程序如何打包?需要哪几个动态库?
- ☆☆☆☆☆高分寻求答案~~!!!☆☆☆☆☆
- 向各位高手求救,如何让窗体右上角的关闭按钮(X)变灰,是用CreateParams 吗,能否给出代码,谢谢了!!!!
- 我的程序把DBE改为ADO连接的后就不能识别parambyname了,why?
- delphi做数据库程序真麻烦。
- 关于自己建立了一个pas文件,但是出现错误
- 求delphi5 adoupdate升级包的cdkey!!
begin
Application.Initialize;
Application.ShowMainForm:=false; //程序不显示主窗口
Application.CreateForm(TForm_main, Form_main); //创建主窗口
Application.Run;
end.
2. Main单元的OnCreate如下:
begin
FrmLog:= TFrmLog.Create(Application); //创建登陆窗口
if FrmLog.ShowModal=mrOK then self.show //登陆的密码正确,则显示自己
else Application.Terminate; //否则,程序结束
end;
3. login单元如下:
var
FrmLog: TFrmLog;
ErrTime: Integer; //密码输入次数,全局变量implementation
uses Main; //引用主窗口
{$R *.dfm}procedure TFrmLog.FormCreate(Sender: TObject);
begin
ADOQuery1.Open; //查询密码
ErrTime:=0; //给输入密码次数赋初值
end;procedure TFrmLog.Button1Click(Sender: TObject);
begin
if ErrTime>=2 then
begin
ModalResult:=mrCancel; //密码错误3次,自动关闭,给主窗口返回值mrCancel
Exit;
end;
if Edit1.Text<>ADOQuery1.FieldByName('pswd').AsString then
begin //密码错误
inc(ErrTime);
MessageDlg('密码错误,请重新输入!',mtWarning,[mbOK],0);
Edit1.Text:='';
Exit;
end;
ModalResult:=mrOK; //密码正确,自动关闭,给主窗口返回值mrOK
end;end.被ShowModal的窗体,只要有ModalResult:=[mrOK,mrCancel,mrAbort,..]等,就会自动关闭,并返回相应的值。如果点击右上角的X关闭之,则自动返回mrCancel。不妨把“取消“按钮的ModalResult属性设为mrCancel,这样,用户点击“取消”也会自动关闭窗口,并返回值mrCancel