(5)uniGUI for C++ builder下LoginForm(登录窗口)如何使用?

(同一个世界,同一个梦想,交流学习C++Builder XE10,传承c++builder的魅力!欢迎各地朋友加入我的QQ群484979943,进群密码“BCB”,同时也请将该群号广为宣传,希望能够广集各方高手,共同进步。)

uniGUI新建的窗口有三种类型,如下图所示,其中LoginForm为登录窗口,uniGUI已经为你提供了登录窗口的基础配置。可以直接创建使用。

(5)uniGUI for C++ builder下LoginForm(登录窗口)如何使用?

一、新建窗口

主菜单:File-》New-》Other

(5)uniGUI for C++ builder下LoginForm(登录窗口)如何使用?

(5)uniGUI for C++ builder下LoginForm(登录窗口)如何使用?

本例中创建一个Login Form,Name设为UniLoginFormTest,BorderStyle设为bsNone(无边框),窗口上摆放一个UniGroupBox,两个UniLabel,两个UniEdit,两个UniBitBtn.如下下图所示:

(5)uniGUI for C++ builder下LoginForm(登录窗口)如何使用?

其中UniBitBtn1为登录按钮,将其ModalResult属性设为mrNone(不关闭窗口,根据程序代码自行关闭窗口);UniBitBtn2为退出按钮,将其ModalResult属性设为mrNo(直接自动关闭窗口).

二、登录实现

uniGUI的web项目中,如果配置了loginForm类型的窗口,系统运行时会先显示登录窗口,当窗口关闭后返回的ModalResult值为mrOk,则弹出项目主界面,否则程序不运行。因此,uniBitBtn1的点击事件配置如下:

void __fastcall TUniLoginFormTest::UniBitBtn1Click(TObject *Sender)
{
if(UniEdit1->Text!="我的用户") //在此可以添加数据库表判断用户是否存在?
{
ShowMessage("用户名不存在!");
return;
}
if(UniEdit2->Text!="我的密码") //在此可以添加数据库表判断密码是否正确?
{
ShowMessage("密码错误!");
return;
}
ModalResult=mrOk; //在上述用户密码校验通过后,在此对ModalResult变量赋值mrOk告诉系统登录成功,显示主界面.
this->Close();    //关闭本登陆窗口
}
//---------------------------------------------------------------------------