一个登录窗口
一个主界面窗口
两个窗口都是自动建立的,但是登录窗口先出现,所以默认就变成了程序主窗口,一CLOSE,程序即退出,那么应该怎样把登录窗口给藏起来,而又不会把任务栏的图标也隐藏掉了呢?我现在就是在登录窗口输入资料后登录时就把这个窗口给隐藏掉,再显示主界面窗口,可是连任务栏的图标也一起没了,然后想到用AlphaBlendValue,但不知道还有没有其它方法delphi窗口多窗口主窗口

解决方案 »

  1.   

     if not Assigned(iniF) then
            begin
            if TLoginForm.ShowForm then
            begin
               Application.CreateForm(TIDCardRead_F, IDCardRead_F);
            end;
            end;
    在工程文件里面写上这个
    class function TLoginForm.ShowForm:Boolean;
    var
     LoginForm: TLoginForm;
    begin
      LoginForm := TLoginForm.Create(Application);
       try
       if LoginForm.ShowModal = mrOk  then
          Result := True
       else
          Result := False;
       finally
          LoginForm.Free;
       end;
    end;
     if (Trim(edt1.Text)='') or (Trim(edt2.Text)='') then
      begin
       Application.MessageBox('请输入帐号密码','提示信息',MB_OK+mb_iconinformation);
      end
      else
      begin    with dtmdl1.qry1 do
        begin                                  
          Close;
          SQL.Clear;
          SQL.Add('select * from hc_admin where A_Name_name='''+trim(edt1.Text)+''' and A_password='''+trim(edt2.Text)+'''');
          Open;
        end;
        if dtmdl1.qry1.RecordCount =0 then
        begin
          Application.MessageBox('登录失败请联系管理员','提示信息',mb_ok+mb_iconinformation);
          edt1.SetFocus;
          Exit;
        end
        else
        begin
          TstaName:=Trim(edt1.Text);
          ModalResult := mrOk;
        end;    //ModalResult := mrOk;
      end;
      

  2.   

    登录窗口不该是程序主窗口,
    主界面窗口才是。
    看看SQL2005/2008的SQL Server Management Studio你就明白了。
      

  3.   

    只让主界面自动建立吧,在 FormCreate 的时候把登录窗口 ShowModal 出来。