点击“取消对”话框还提示的两个类示问题? VCL组件开发及应用
http://www.delphi2007.net/DelphiVCL/html/delphi_20061221122221220.html
一、
我的目的是想以任何方式退出程序时,有“是否真的退出”提示
if MessageBox(0,'你真的要退出吗?','警告',MB_OKCANCEL+MB_ICONWARNING)=IDok then
begin
close;
end;
上面的程序放在一按纽响应事件中可以实现,但是我把它放在FormCloseQuery中时(目的是点右上角的x号时也提示),却出错,现象如下:点确定时程序不退出,messagebox也不退出,点取消时程序却退出?应如何改动?
二、
var
str:string;
i:integer;
begin
i:=0;
str:='';
while str='' do
begin
i:=i+1;
str:=inputbox('用户验证','请输入用户名:','');
if str<>'bear' then
if i<3 then
showmessage('密码错误,请重新输入。')
else
begin
MessageDlgPos('密码严重错误,系统即将退出!',mtWarning,
[mbOK],0,300,200);
close;
break;
end
else
begin
MessageDlg('验证通过,请进入。',mtinformation,[mbOK],0);
label1.Caption:='密码正确,请通行';
end;
end;
end;
问题1、出错现象:点取消之后不退出对话框,还提示继续输入密码。
2、想验证通过时才显示form2,应将 form2.show加在哪里?
3、如何将3个form全加入工程,又如何选择启动窗体并不显示其它窗?。
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := MessageBox(Handle, '你真的要退出吗?', '警告',
MB_OKCANCEL + MB_ICONWARNING) = IDOK;
end;
用InputQuery替换InputBox
如果按取消InputQuery会返回False