关于窗口的一个小问题 想做一个登陆的小窗体,在程序运行的开始出现在主窗体上面,在输入正确地口令验证之后,才可以对主窗体进行操作,这个是怎么实现的呀?以前没有用过Delphi,不好意思,能给点细致的讲解吗?多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主窗体的onshow事件里加入 formnew.showmodal;(formnew是登录窗体) 首先你需要明确你的流程mainForm |loginForm:=xxx.create(nil);loginForm.showModal; |在loginForm内判断登录是否成功 | |——不成功,返回不成功标志,关闭loginForm,主页面不发生变化,或程序干脆关闭。 |成功给mainForm返回成功标志,关闭loginForm,进入其他页面。 在.dpr文件里写。Application.Initialize;Application.ShowMainForm := False;Application.CreateForm(TMainFrm, MainFrm);Application.CreateForm(TLogInFrm, LogInFrm);.........LogInFrm.ShowModal ;if LogInFrm.ablpass thenbegin Application.ShowMainForm := True; Application.Run;endelse Application.Terminate ; 主窗体的onshow事件里面运行formnew.showmodal;我希望要的是主窗体也显示出来的,只不过formnew需要在主窗体上面,此时仅仅能对formnew窗体操作,应该怎么写呢? 主窗体的onActivate事件里面运行formnew.showmodal;符合你的要求 终级解决办法.自己定义一个消息MSG_SHOWLOG 用PostMessage发送.在消息函数中显示登陆窗体.在窗体的onshow 最后一句发送这个消息.postMessage(Self.Handle,MSG_SHOWLOG,0,0);以前用过什么? 一个窗口问题```求达人指点```` 操作文件问题,急, append数据不重复 为何用sql语句进行查找时总得不到正确的结果?急!! 如何限定一个string的长度 窗体中排列组合 "运行时错误'429':ActiveX部件不能创建对象"是怎么回事,谢谢. DFM文件的问题 Clientdataset 控件 appenddata两次出现key voilation错误 知道OICQ的主窗口是如何做的吗?如何将窗口总在最前面? UpdateBatch 问题 轻松得分,关于winexec调用16位程序后的控制
|
loginForm:=xxx.create(nil);
loginForm.showModal;
|
在loginForm内判断登录是否成功
|
|——不成功,返回不成功标志,关闭loginForm,主页面不发生变化,或程序干脆关闭。
|
成功给mainForm返回成功标志,
关闭loginForm,进入其他页面。
Application.ShowMainForm := False;
Application.CreateForm(TMainFrm, MainFrm);
Application.CreateForm(TLogInFrm, LogInFrm);
...
...
...
LogInFrm.ShowModal ;
if LogInFrm.ablpass then
begin
Application.ShowMainForm := True;
Application.Run;
end
else
Application.Terminate ;
我希望要的是主窗体也显示出来的,只不过formnew需要在主窗体上面,此时仅仅能对formnew窗体操作,应该怎么写呢?
在消息函数中显示登陆窗体.在窗体的onshow 最后一句发送这个消息.
postMessage(Self.Handle,MSG_SHOWLOG,0,0);以前用过什么?