点击“取消对”话框还提示的两个类示问题?

点击“取消对”话框还提示的两个类示问题? 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

你可能感兴趣的:(问题)