如何先看见密码框,然后密码如正确看见MDI窗口

解决方案 »

  1.   

    在MDI窗口show时先让密码框shomodal
      

  2.   

    if pass.showmodal = mrOk then
               MDI.show
      

  3.   

    在MDI窗口OnCreate()if 不通过 then Application.Terminate;
      

  4.   

    在MDI窗体的FormCreate事件中 show登陆窗体( 密码窗)即可。注意登陆窗体的formStyle属性设置为普通类型。
      

  5.   

    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2},
      Unit3 in 'Unit3.pas' {Form3};{$R *.res}begin
      Application.Initialize;
      try
        form2:=Tform2.Create(application);
        form2.ShowModal ;
      finally
       if form2.Button1.ModalResult =1 then
         Halt
       else
       begin  Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm3, Form3);
      Application.CreateForm(TForm2, Form2);
      application.Run;
      end;
      end;
    end.procedure TForm2.Button1Click(Sender: TObject);
    begin
     //在此之前天加数据验证
       self.ModalResult :=mrOk;end;procedure TForm2.Button2Click(Sender: TObject);
    begin   self.Button1.ModalResult:=mrcancel;
       exit;
    end;end.
      

  6.   

    Application.Initialize;
    FrmLogin := TfrmLogin.Create(nil);
    Frmlogin.edtUser.Text := '00002';
    if FrmLogin.ShowModal = 1 then
       Application.CreateForm(TFrm_Main, Frm_Main);
    Application.Run;
      

  7.   

    我喜欢 hlddg(hlddg) 的方式,在工程文件中自己控制。
      

  8.   

    hlddg(hlddg) 好象还不行,哎
      

  9.   

    给我Email ,我给你发个例子吧
      

  10.   

    在判断密码正确之前
      Application.ShowMainForm:=false;
    如果正确
      Application.ShowMainForm:=True;不正确
      Application.MainForm.Close;
    退出程序!
      

  11.   

    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {frm_MDI};{$R *.res}begin
      Application.Initialize;  Application.Run;
      if doLogin then
        begin
          Application.CreateForm(Tfrm_MDI,frm_MDI);
          Application.Run;
        end
      else
        application.terminate;end.{========================================================}unit Unit1;interfaceuses ...;type
      TForm1 = class(TForm)
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        procedure BitBtn2Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;  function doLogIn:boolean;
    implementation{$R *.dfm}
    function doLogIn:boolean;
    begin
      with TForm1.create(application) do
      begin
        if ShowModal = mrok then
           result := true
        else
           result := false;
        free;
      end;
    end;procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
      if 密码正确 then
        modalresult := mrok
      else
        ModalResult := mrCancel;
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      ModalResult := mrCancel;
    end;end.
      

  12.   

    下面我测试过
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {frm_MDI};{$R *.res}begin
      Application.Initialize;  if doLogin then
        begin
          Application.CreateForm(Tfrm_MDI,frm_MDI);
          Application.Run;
        end
      else
        application.terminate;end.
    {=============================================================}
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics,
      Controls, Forms,Dialogs, StdCtrls, Buttons;
    type
      TForm1 = class(TForm)
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        procedure BitBtn2Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;  function doLogIn:boolean;
    implementation{$R *.dfm}
    function doLogIn:boolean;
    begin
      with TForm1.create(application) do
      begin
        if ShowModal = mrok then
           result := true
        else
           result := false;
        free;
      end;
    end;procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
      if 密码正确 then
        modalresult := mrok
      else
        ModalResult := mrCancel;
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      ModalResult := mrCancel;
    end;end.
      

  13.   

    在mdi_create里把密码窗体showmodel()