一、MFC登陆界面

article/2025/9/7 17:40:18

一、新建项目

打开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::CenterWindowCenterWindow();

 3.2设置窗口标题

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

//设置窗口标题,CDocument::SetTitleSetTitle(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();
}

六、成果展示(图片背景下次再说)

 


http://chatgpt.dhexx.cn/article/kMFWZfdD.shtml

相关文章

MFC基础知识与课程设计思路

引言 本文致力于提供MFC的相关知识,以方便大家更好地认识MFC的使用方法。介绍将会分为以下几个部分:MFC初始文件的理解、MFC我们所使用的框架理解、MFC的进阶用法、MFC我在使用过程中遇到的问题及解决方法。 MFC初始文件的理解 MFC的初始文件中有两项文…

MFC添加程序关闭时时的提示界面

文章目录 MFC一.简介二.方法 MFC 一.简介 在应用程序退出的时候,不能点击叉直接退出,我们想添加一个退出提示。在点击叉后,弹出是否确定退出的界面,如下面的界面,具体操作往下看 二.方法 找到我们需要操作的主界面…

【MFC】模拟采集系统——界面设计(17)

功能介绍 启动界面 开始采集: PS:不涉及 数据保存,重现等功能 界面设计 界面分为三块:顶部黑条带关闭按钮、左边对话框,右边的主界面 资源: 顶部黑条 top.bmp 2* 29 (宽 * 高 像素点&…

MFC界面设计入门篇

点击C里的MFC再点击MFCApplication,到下面改名字和路径,然后OK 然后点击Next, 选择single document,MFCstandard,简体中文,然后Finish 这时候可以先直接运行,看看工程的样子&#x…

最最简单的几个Mac终端命令

几个简单的Mac终端命令 目录切换相关 cd空格/ 回到根目录cd空格… (或者 cd空格…/) 回到上一级目录cd空格. 回到当前目录pwd 显示从根目录到当前目录的完整目录 vi操作相关 注意:vi操作的文件如果不存在,则先自动创建一个该名字…

Mac 终端基本命令

基本命令 1、列出文件 ls 参数 目录名 例: 看看驱动目录下有什么:ls /System/Library/Extensions 参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件 2、转换目录 cd 例:想到驱动目录下溜达一圈 cd /System/Library/Extension…

10需要知道Mac终端命令

如果你想进入web开发领域,知道什么是终端,如何使用终端是非常有益的。在今天的文章中,我们将介绍Mac终端命令的10个必要知识! 🙂 什么是终端(Terminal) 终端最基本的用途是可以浏览计算机的文…

Mac终端命令

Mac电脑安装程序,打开允许任何来源的方法,在终端执行命令行即可。 打开命令:sudo spctl --master-disable 关闭命令:sudo spctl --master-enable Mac终端打开文件 1.打开文件夹的命令很简单,使用 open 文件夹…

Mac终端命令失效( command not found)/

ls vi vim 输入完来一句command not found xx 心哇凉哇凉的,心态都崩了。 guolianggldeMacBook-Pro ~ % cat zsh: command not found: cat guolianggldeMacBook-Pro ~ % ls zsh: command not found: ls guolianggldeMacBook-Pro ~ % mdfind zsh: command not fo…

MacOS系统终端常用命令大全

MacOS系统终端是使用mac电脑的小伙伴需要或多或少了解的一个应用。熟悉并掌握一些基本的常用命令可以帮助我们快速的解决一些日常问题,提高工作效率,下面让小编带大家了解一下吧! 基本概念 命令的构成:Command Name、Options、Ar…

Mac终端 常用命令

OSX 的文件系统 OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念。 你在桌面上看到的硬盘都挂在 /Volumes 下。 比如接上个叫做 USBHD的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪…

mac 终端 常用命令

文件目录 首先要清楚几个文件目录: " / " :根目录 " ~ " :用户主目录的缩写。例如当前用户为hello,那么" ~ "展开来就是:/Users/hello " . " :当前目录 "…

RANSAC原理及直线拟合(python动态图解)

一、简介 随机采样一致性(Random Sample Consensus,RANSAC)由斯坦福国际研究院的Fischler和Bolles于1981年首次提出[1]。RANSAC算法是一种随机参数估计迭代算法;从一组包含异常数据的样本数据集中,通过迭代的方式&…

RANSAC初识

RANSAC算法:随机抽样一致算法(random sample consensus,RANSAC) 一个简单的例子是从一组观测数据中找出合适的二维直线。假设观测数据中包含局内点和局外点,其中局内点近似的被直线所通过,而局外点远离于直线。简单的…

RANSAC算法详解

RANSAC算法详解 给定两个点p1与p2的坐标,确定这两点所构成的直线,要求对于输入的任意点p3,都可以判断它是否在该直线上。初中解析几何知识告诉我们,判断一个点在直线上,只需其与直线上任意两点点斜率都相同即可。实际…

Ransac拟合椭圆

一、Ransac算法介绍 RANSAC(RAndom SAmple Consensus,随机采样一致)最早是由Fischler和Bolles在SRI上提出用来解决LDP(Location Determination Proble)问题的,该算法是从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法。“外点”一般指的的数据…

RANSAC算法

算法基本思想和流程 RANSAC是通过反复选择数据集去估计出模型,一直迭代到估计出认为比较好的模型。 具体的实现步骤可以分为以下几步: 选择出可以估计出模型的最小数据集;(对于直线拟合来说就是两个点,对于计算Homography矩阵就…

RANSAC迭代估计

RANSAC迭代估计 1. 定义2. 功能3. 流程4. 迭代次数推导5. 实现直线拟合 1. 定义 根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法 从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法 “外点”一…

RANSAC

转自:http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac-1.html 作者:王先荣 本文翻译自维基百科,英文原文地址是:http://en.wikipedia.org/wiki/ransac,如果您英语不错,建议您直接查看原文。 …

机器视觉:ransac算法详解

目录 一、说明: 二、算法步骤 三、算法代码 四、其它补充 一、说明: RANSAC是一种常用的参数估计方法,全称为Random Sample Consensus(随机抽样一致性)。它通过随机选择数据中的一部分,然后根据这些数据…