呵呵,只有10分,希望大家不要小看(10分)

  • 主题发起人 主题发起人 呵呵
  • 开始时间 开始时间

呵呵

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个窗体,一个主窗体,还有一个窗体是模式窗体用来接受用户输入密码,如果正确,
则进入主窗体,否则退出。问题是,当按下确定按钮时,如果输入正确,我用
passform.close来消除密码窗体,进入主窗体,但是如果用户按密码窗体右上角的叉,
则直接进入了主窗体,起不到保护作用了。后来我又在passform的onclose事件中加入了
application.terminate;希望当用户按叉时,程序退出而不是进入主窗体,但是当我按确定
按钮时,由于有passform.close,所以程序直接退出,而不是进入主窗体。不知道怎么解决
希望指教。
 
主窗体hide
当密码窗体关闭时
if 密码正确 then
主窗体.show
else
application.terminate
 
可以再主窗体中生成模式窗体的一个实例,当passwd输入不正确时直接Terminate
最合适.
 
agree with upstairs
 
把密码窗体右上角的叉去掉不就行了.
把BorderIcon属性下的bisystemMenu:=false;
 
上例:
“把密码窗体右上角的叉去掉不就行了.
把BorderIcon属性下的bisystemMenu:=false;”
根本不行,因为仍可使用alt+f4键
在主窗体设置全局变量,
if passsword then ok else no
 
还是把窗体的X去掉吧。
 
同意Expert,我在做工程时也碰上相同的问题,就是用了方法解决的.代码也是大至相同的.
完全可行
 
在密码窗体的关闭事件中检查密码,做出处理
 
huiboy,怎么去掉那个叉?谢谢!
 
1、to密码窗体:
把BorderIcon属性下的bisystemMenu:=false;
2、密码form放进available form;
3、项目文件中:
密码窗体.showmodal;
if 密码窗体.modalresult=1 then
run application
else
no
按以上做,可以通过。
 
jswqg说是没错。
 
呵呵!要不要例子呀!不过这样的例子随便一本什么delphi的书里都有吧!呵呵!
 
写义一变量
var
bLogin:boolean=False;

if 登录成功 then bLogin := True
else bLogin := False;

onclose事件中
if bLogin then
CanClose := True;
 
大家都这么热心,我一共就10分,没法分呀,怎么办?大家帮我出出主意好吗?
 
在主窗体的Activate事件里创建输入口令窗体;
若密码正确释放口令窗体,若出错则Application Terminate.
 

Similar threads

S
回复
0
查看
829
SUNSTONE的Delphi笔记
S
S
回复
0
查看
780
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部