一、MFC登陆界面

您所在的位置:网站首页 mfc-j200无法初始化 一、MFC登陆界面

一、MFC登陆界面

2023-06-22 08:03| 来源: 网络整理| 查看: 265

一、新建项目

打开VS2022——>创建新项目——>选择MFC应用,点击下一步——>修改项目名称和位置,点击创建——>修改应用程序类型、项目样式经典菜单选项

 

 二、添加预处理指令

VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C/C++函数。要想继续使用此函数,需要添加 _CRT_SECURE_NO_WARNINGS这个预定义。

在项目 -> 属性 -> C/C++->预处理器 -> 预处理器定中添加 _CRT_SECURE_NO_WARNINGS:

 三、设置窗口属性 3.1设置窗口大小和居中显示

1.在CMainFrame.cpp的OnCreate()中接着写代码:

//设置窗口的位置和大小:CWnd::MoveWindow //0, 0, 起点坐标x和y //800, 500, 窗口宽度和高度 MoveWindow(0, 0, 800, 500); //将窗口移动到屏幕中央,CWnd::CenterWindow CenterWindow();

 3.2设置窗口标题

在MFCApplication7Doc.cpp中的OnNewDocument()函数中添加如下代码:

//设置窗口标题,CDocument::SetTitle SetTitle(TEXT("MFC"));

 四、文件处理 4.1 文件内容格式

登陆用户信息:

 4.2 设计文件处理类CInfoFile

4.2.1 添加文件处理类CInfoFile

 

 4.2.2头文件(CInfoFile.h)的设计

 定义配置文件路径宏:

#define _F_LOGIN "./login.ini"

 

 五、登陆对话框 5.1 ui设计

5.1.1

1、添加对话框资源(ID修改为DIALOG_LOGIN)

 

2、右击对话框选择属性,修改描述文字

3、 添加所需控件和修改描述文字(右击用户和密码控件选择属性):

 5.1.2

1、选中对话框 -> 右击 -> 添加类 -> 类名:CLoginDlg ;基类:CDialogEx2

2、根据需求,控件关联所需变量

用户名编辑区关联CString m_user,密码登陆框关联CString m_pwd。

右击示例编辑框,添加变量:(第二个一样)

 

 3 功能实现

 在对话框类中,重写 OnInitDialog 函数,进行初始化,设置一些默认登录信息。

m_user = TEXT("xd"); //用户名 m_pwd = TEXT("123456");//密码 UpdateData(FALSE); //内容更新到对应的控件

 4、登陆窗口的创建

在应用程序类MFCApplication6.h(我的项目名为:MFCApplication6,前面呈现的叫MFCApplication7是因为我想复刻一下创建的过程)的InitInstance() 里面的APP 创建之前创建登陆对话框:

CLoginDlg dlg; //创建登陆对话框,需要头文件#include "LoginDlg.h" dlg.DoModal(); //以模态方式运行

 5、登陆和取消按钮功能实现

 双击登陆按钮

void CLoginDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); //更新控件的数据到对应的变量 CInfoFile file; //创建操作文件类对象,需要头文件#include "InfoFile.h" CString user, pwd; //读取配置文件,获取用户名密码,参数为引用传递 file.ReadLogin(user, pwd); if (m_user == user)//用户名相等 { if (m_pwd != pwd) { MessageBox(_T("密码错误")); m_user.Empty(); //清空 m_pwd.Empty(); } else { CDialogEx::OnOK(); } } else { MessageBox(_T("用户名不存在")); m_user.Empty(); m_pwd.Empty(); } }

双击取消按钮

void CLoginDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 exit(0); //结束整个程序 }

6、右上角关闭按钮功能实现

选中对话框模板 -> 右击 -> 属性 -> 消息 -> WM_CLOSE

 

//关闭按钮 void CLoginDlg::OnClose() { // TODO: 在此添加消息处理程序代码和/或调用默认值 exit(0); //结束整个程序 CDialogEx::OnClose(); }

7、编辑区回车键关闭对话框问题解决

 

void CLoginDlg::OnOK() { // TODO: 在此添加专用代码和/或调用基类 //CDialogEx::OnOK(); } 六、成果展示(图片背景下次再说)

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3