MFC的基本控件的使用~设计一个UI界面(三)

今天继续上次的做注册界面。首先先在Dialog文件夹上右键新建一个dialog ,然后使用控件搭建一个简单的注册界面

搭建完成之后,点击注册界面右键给注册界面添加一个类,用与和登录界面关联。完成之后然后 回到登录界面,双击注册按钮注册按钮点击事件。进入方法之后开始写代码让两个界面进行交互。 CReigater 是注册界面添加的类名。

//非模态   new一次创建了一个窗口对象指针  
    CReigater * dlgregister1 = new CReigater();
    dlgregister1->Create(IDREGISTER);
    dlgregister1->ShowWindow(SW_SHOWNORMAL);

     //模态   不需要new 直接创建一个栈中对象
    /*CReigater dlgregister2;    
    dlgregister2.DoModal();*/

然后运行起来,点击注册是不是注册界面出来了呢,接着我们完成回到登录界面。双击注册界面的返回按钮添加事件。

只需添加一句代码就OK了。

CDialogEx::OnCancel();

或者使用destroy  销毁也可以

this->DestroyWindow();

剩下就是注册账号了,首先在资源管理中先找到InfoFile源文件 在里面加入几句代码

    //注册
void CInfoFile::WritePwd(char * name, char * pwd)
{
    //创建文件输入对象
    ofstream ofs;
    ofs.open(_F_LOGIN);

    ofs << name << endl;
    ofs << pwd << endl;

    ofs.close();
}

然后回到注册界面给三个输入框分别添加变量1、改为value ,2、起个变量名 3、可改可不改 。点击完成。

完成之后双击确定按钮添加事件。在方法体内写入代码。

//注册面板确定事件
void CReigater::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    UpdateData(true);
    if (b_user.IsEmpty()|| b_pad.IsEmpty()||b_verpad.IsEmpty())
    {
        MessageBox(TEXT("输入内容不能为空"));
        return;
    }
    if (b_pad!=b_verpad)
    {
        MessageBox(TEXT("密码输入不一致"));
        return;
    }
    CInfoFile file;  //要在最上方添加InfoFile 的头文件
//    CString 转char*
    CStringA tmpuser;
    CStringA tmppad;
    CStringA tmpverpad;

    tmpuser = b_user;
    tmppad = b_pad;
    tmpverpad = b_verpad;
    file.WritePwd(tmpuser.GetBuffer(),tmppad.GetBuffer());
    MessageBox(_T("注册成功"));
    //清空窗口
    b_user.Empty();
    b_pad.Empty();
    b_verpad.Empty();

    UpdateData(false);
}

至此一个登陆注册界面就完成了 ,让我们运行看一下效果吧。

 看来效果还是可以的哦*w*

不过这个只使用了很少的几种控件,所以后面我会把每一种控件的使用记录下来。

猜你喜欢

转载自blog.csdn.net/fineboby/article/details/89738825