教我女学生应用程序编写程序MFC(教我女学生程序应用程序编写)

文章底部附有学习资源,大家可以自行领取。
摘要:前两天有个女学生问我,说想做一个串口调试助手作为毕业设计。
老师告诉她用MFC来做,并给了他相关代码。
问我懂不懂MFC? (我只知道KFC)然后我告诉她为什么你的老师要你用MFC。
你学了C++,就不能用QT吗? 我这里有关于QT的相关代码。
你可以拿来修改它,美化它,然后你就可以把它当作最终的设计。
然后两天后,她告诉我,她的老师对QT不太了解,只用过MFC。
确实,一些老教师在工作中可能会使用MFC。
毕竟QT是近几年(几年后)才出现的技术。
什么是MFC?MFC(Microsoft Foundation Class Library)是专门为Windows设计的用于开发图形用户界面的类库。
MFC 使用面向对象的方法来包装 Win32 API。
因此,这些 API 有时是 C++,有时是 C,甚至是 C 和 C++ 的混合。
使用的编辑器是Visual Studio。
Qt 是一个跨平台的 C++ 图形用户界面应用程序开发框架。
它既可用于开发GUI程序,也可用于开发非GUI程序,例如控制台工具和服务器。
Qt 是一个面向对象的框架。
它可以运行在Windows、MacOS、Linux等嵌入式系统上,并且完全面向对象。
之前写过几篇关于qt的文章。
基于QT的Android手机蓝牙APP开发干货资讯| 一步一步教你编写串口调试助手一步步教你如何使用Labview编写串口上位机今天,我的女学生教我MFC。
这是我的第一篇文章。
她还给了我一个大纲,看起来很详细。
然后打开Visual Studio新建一个项目并编写代码。
我不知道是否可能。
无论如何,事不宜迟,让我们开始吧。

1.创建一个对话框基于程序创建过程:新建完成后,如下图2. 对话框应用框架介绍 1. 资源视图使用AppWizard创建基于对话框的应用程序框架(假设项目名为Dialog)后,项目工作区中将添加一个“资源视图”选项卡。
或者,通过“视图”找到“资源视图”选项卡:在MFC中,与用户交互的对话框界面被认为是一种资源。
展开“Dialog”可以看到有一个ID为IDD_DIALOG_DIALOG的资源(中间部分(DIALOG)与工程名相同),对应中间的对话框设计界面。
每当双击对话框资源的ID时,中间就会显示对话框设计界面。
2. 类视图在类视图中,可以看到生成了3个类:CAboutDlg、CDialogApp和CDialogDlg。
3.设计界面和工具箱3年嵌入式物联网学习资源整理分享:C语言、Linux开发、数据结构; 软件开发、STM32单片机、ARM硬件开发、物联网通讯开发、综合项目开发教程资料; 笔试和面试问题。
点击下方插件即可免费获取↓↓↓1. 模态对话框1)当显示模态对话框时,程序将暂停执行,直到模态对话框关闭后才能执行程序中的其他任务。
1、右键点击图片框中的Button,直接拖动到界面中。
Button1 按钮将添加到界面中。
2、可以修改这个Button1按钮的属性,右键->属性。
3. 修改标题以更改按钮的名称。
4、双击该按钮,跳转到按钮处理函数:void CMFC01Dlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码}2)资源视图->对话框->右键->插入对话框:3)修改对话框ID:4)点击对话框模板->右键->添加类:5)类视图中多了一个自定义类:6) 按钮处理函数创建对话框并以模态方式运行。
1、首先在MFCXXDlg.cpp中添加刚才看到的对话框的头文件。
2、在MFCXXDlg.cpp中的OnBnClickedButton1函数中编写相应的操作。
要创建模式对话框,需要调用CDialog类的成员函数==CDialog::DoModel==。
该函数的作用是创建并显示一个对话框://启动模拟对话框按钮void CMFC01Dlg::OnBnClickedButton1(){ // 需要包含头文件 #include "DlgExec.h" CDlgExec dlg; dlg.DoModal();}然后重新生成解决方案并再次调试。
结果如下:2.非模式对话框当显示非模式对话框时,程序将继续执行程序中的其他任务,而无需关闭对话框。
图形界面的操作过程与模式对话框相同。
然而,非模式对话框的实现方式不同。
它首先创建(CDialog::Create)一次,然后显示(CWnd::ShowWindow)。
//启动非模拟对话框按钮void CMFC01Dlg::OnBnClickedButton2(){ //需要在MEC01Dlg.cpp开头包含头文件 #include "DlgShow.h" //弹出非模态对话框 CDlgShow dlg; //创建 dlg.Create(IDD_DIALOG_SHOW); //显示 dlg.ShowWindow(SW_SHOWNORMAL);}注意:头文件必不可少然后重新生成解决方案并再次调试。
结果如下:3.静态文本框CStatic静态文本框是最简单的控件。
主要用于显示文本信息,不能接受用户输入。
一般来说,不需要连接变量或处理消息。
静态文本框的重要属性是:接口功能CWnd::设置窗口文本设置控制内容CWnd::获取窗口文本获取控制内容CStatic::SetBitmap设置位图(后缀为bmp的图片)相关控制变量:由于XXX_STATIC静态ID不能与变量关联,所以需要修改ID,然后关联变量:例子:代码如下所示//点击按钮让哈哈变成呵呵void CMFC02Dlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 m_text.SetWindowTextW(TEXT("呵呵"));}//点击按钮获取文本中的内容 并且弹出void CMFC02Dlg::OnBnClickedButton2(){ // TODO: 在此添加控件通知处理程序代码 CString str; m_text.GetWindowTextW(str); MessageBox(str);}您还可以将图片添加到对话框中在主对话框类OnInitDialog()中,完成相应的界面测试://设置静态控件窗口风格为位图居中显示m_pic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);//通过路径获取bitmap句柄#define HBMP(filepath,width,height) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)//宽高设置应该按照控件的大小设置CRect rect;m_pic.GetWindowRect(rect);//静态控件设置bitmapm_pic.SetBitmap(HBMP(TEXT("./ly.bmp"), rect.Width(),rect.Height()));调试结果如下:4.普通按钮CButton按钮是最常见且使用最广泛的控件。
程序执行过程中,当点击某个按钮时,就会执行相应的消息处理函数。
按钮的主要属性是Caption,它设置按钮上显示的文本。
命令按钮处理的最常见消息是:BN_CLICKED。
双击按钮跳转到处理函数。
或者,通过按钮属性->控制事件->选择所需的事件添加处理函数:常用接口:接口功能CWnd::设置窗口文本设置控制内容CWnd::获取窗口文本获取控制内容CWnd::启用窗口设置控件是否变灰相关控制变量:在主对话框类OnInitDialog()中,完成相应的界面测试://获取按钮的内容 CString str; m_button.GetWindowText(str); MessageBox(str); //设置按钮内容 m_button.SetWindowText(TEXT("^_^")); //设置按钮状态为灰色 m_button.EnableWindow(FALSE); m_button.EnableWindow(TRUE);实际效果如下:好吧,终于做了一个这样的应用小程序了。
看起来确实是一个入门级的小程序,我觉得还可以。
听一个女学生说,如果想用MFC写串口程序,需要下载MSComm控件。
这个东西还不能在我的电脑上运行。
算了,MFC可能都学会了这个,我就老老实实用我的QT吧,对毕业设计可能帮不了什么忙。

教我女学生应用程序编写程序MFC(教我女学生程序应用程序编写)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息