当前位置: 首页 > news >正文

重庆网站建设公司 今日小说百度搜索风云榜

重庆网站建设公司 ,今日小说百度搜索风云榜,wordpress登陆好慢,多多进宝怎么推广赚钱前言:因为接手了CMFC的程序,所以需要对MFC编程方面有所了解。 C之MFC简单入门 MFC相关的概念MFCWIN32QT MFC项目基本操作MFC项目创建MFC项目文件解读界面和代码数据交互——加法器 MFC相关的概念 MFC MFC(Microsoft Foundation Classes微软…

前言:因为接手了C++MFC的程序,所以需要对MFC编程方面有所了解。

C++之MFC简单入门

  • MFC相关的概念
    • MFC
    • WIN32
    • QT
  • MFC项目基本操作
    • MFC项目创建
    • MFC项目文件解读
    • 界面和代码数据交互——加法器

MFC相关的概念

MFC

MFC(Microsoft Foundation Classes微软基础类库):微软公司提供的一个类库,以C++类的形式封装了Windows API,并且包含一个应用程序框架,减少应用程序开发人员的工作量。

WIN32

WIN32程序和MFC程序生成的都是Windows应用程序。

WIN32开发:是windows下的最基本的编程方式,用Window提供的API(Application Programming Interface)为Window编写应用程序。

MFC封装了WindowsAPI,也相当于对WIN32封装。比起WIN32来说,MFC应用程序开发工作量简化了不少。但由于MFC是封装了Win32编程,所以在效率和灵活性上肯定没有Win32编程好。此外WIN32开发是面向过程的程序,而MFC开发则是面向对象。

QT

MFC和QT两者都是用于C++图形用户界面应用程序。

QT:跨平台C++图形用户界面应用程序开发框架,可以开发GUI程序也可以非GUI。QT是面向对象编程的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

MFC和QT的区别:

  • 跨平台方面,QT跨平台,可以在Windows、Linux、Mac等多平台开发;MFC因为是封装Windows API,所以只能用于Windows平台。
  • GUI界面方面,QT做GUI开发比MFC好,而且支持CSS,界面设计更加方便和美观。
  • 程序运行效率方面,MFC比QT高,因为MFC是浅层封装,而且VC对Windows进行了针对性优化,所以性能比较好。不过现在主流计算机系统的配置上来了,这点性能差别基本不介意。
  • 发展上来说,QT一直在更新,而MFC在很多年前就已经停止更新了。不过MFC还是被保留了下来,因为过去很多软件还是用MFC开发,用户量还是比较大,重写工作量无法估计,所以短时间内QT还很难撼动MFC地位。
  • 设计上来说,MFC是伪对象,而QT是真对象。MFC本质是访问包装起来C语言编写的Windows API,还是事件驱动的架构。而QT则是用C++编写的,是精心设计的卖你想对象,在命名,继承,类的组织等方面保持了优秀的一致性,代码写起来比较优雅。
  • 创建界面上,MFC无法创建大小动态可变的子窗口,必须用代码来更改,软件国际化麻烦,需要对每个语言的版本重新修改软件,而QT有强大的layout机制。
  • 文档帮助上,MFC提供了帮助文章MSDN需要单独付费而且还非常庞大,链接设计也一般,很难通过一个类跳转到相关的类。而QT帮助文档设计非常优秀,只有18M。

MFC项目基本操作

MFC项目创建

点击VS新建一个MFC项目,通常会有四个引用程序类型:单个文档、多个文档、基于对话框以及多个顶层文档(不常用)。
单个文档只有一个窗口,同一时刻只能操作一个文档,例如记事本。
多个文档可以有多个子窗口,允许同时操作多个文档,例如Notepad++。
基于对话框没有菜单、工具栏及状态栏,也不能处理文档。

MFC项目文件解读

创建了一个基于对话框的项目。
在这里插入图片描述
头文件:存放.h后缀的头文件。
源文件:存放.cpp后缀的文件。
资源文件:存放mfc界面相关的资源文件。

pch:预编译文件,可以把自己需要预编译的内容放入。预编译是程序正式编译前做一些代码文本的替换工作,这样调用这段代码时候就不需要进行调用的入栈出栈,节省时间,通常针对那种改动不大的代码。
targetver.h:定义程序运行的环境。如限制程序只能在XP下运行,限制程序在只能在Vin7下运行,或限制程序只能在XP以上系统运行。
Resource.h:就是资源文件中.rc后缀文件的头文件。
资源文件:ico是图标,rc和rc2是mfc界面的资源文件,指向同一个资源。但是rc2可以可视化编辑,而rc需要代码手工编辑。双击rc2后缀文件,然后找到Dialog文件下DIALOG后缀的的,双击即可查看对应可视化编辑的界面。
MFCApplication1:该类继承CWinApp,封装了关于程序流程的操作。相当于整个程序的主程序,程序主入口其实也是在这里头。
MFCApplication1Dlg:该类继承CDialogEx,封装了关于对话框窗口的操作。也是此应用程序运行后控制对话框界面的程序部分。

界面和代码数据交互——加法器

  1. 第一步:编辑界面。
    添加一个静态文本框(Static Text),用来显示加法结果,这个是用户没有办法修改的。
    添加两个个编辑框(Edit Control),用来交互让用户输入,输入两个要相加的数字。
    添加一个按钮(Button),用来确认交互,确认是否要相加。
    控件右键选择“属性”,对“描述内容”进行修改,得到下图。
    在这里插入图片描述
  2. 第二步:为控件添加变量。
    对静态文本框(Static Text)和编辑框(Edit Control),右键选择“添加变量”,然后注意设置类型、名称和变量类型。
    注意命名规则,类的成员变量名一般以m_打头,以标识它是一个成员变量。
    编辑框变量
    注意文本显示,Static Text的属性ID改为IDC_TEXT,不然无法修改,而且是控件控制。
    在这里插入图片描述
  3. 第三步:为button添加函数响应。
    四种方法:
    • Class Wizard类导向添加:按钮右键类导向。对象ID选中自己要的按钮ID,消息为函数处理类型,选择BN_CLICKED,然后添加处理程序。
    • Add Event Handler实践处理程序:添加消息处理函数,默认就是BN_CLICKED。
    • 属性视图“闪电”图标:点击就可以直接加入了控件事件了。
    • 双击按钮控件:双击后会自动添加消息处理函数,并跳转到代码部分。
// 加法按钮响应函数
void CMFCApplication1Dlg::OnBnClickedButton1()
{//更新m_inputA,m_inputB获取界面输入的值UpdateData(true);//进行加法int a,b,c;a = m_inputA;b = m_inputB;c = a + b;//结果显示CString str1,str2;str1 = "结果:";str2.Format(L"%d", c);m_textShow.SetWindowTextW(str1+str2);
}
  1. 第四部:添加一个标题。
    找到OnInitDialog()函数部分,添加上自己想要的标题代码。
CString str;
str = "ADD";
SetWindowText(str);

结果:
在这里插入图片描述


文章转载自:
http://stokehold.xqwq.cn
http://pediatry.xqwq.cn
http://galleryful.xqwq.cn
http://uninspected.xqwq.cn
http://sunkissed.xqwq.cn
http://supermundane.xqwq.cn
http://limivorous.xqwq.cn
http://sharper.xqwq.cn
http://winless.xqwq.cn
http://privative.xqwq.cn
http://sinner.xqwq.cn
http://noninductivity.xqwq.cn
http://crevette.xqwq.cn
http://poisoner.xqwq.cn
http://fungitoxicity.xqwq.cn
http://antibiotics.xqwq.cn
http://drugola.xqwq.cn
http://roorback.xqwq.cn
http://animalcule.xqwq.cn
http://extensile.xqwq.cn
http://shortgrass.xqwq.cn
http://cambo.xqwq.cn
http://hypnogenetic.xqwq.cn
http://flatfish.xqwq.cn
http://trichi.xqwq.cn
http://greaser.xqwq.cn
http://portrayal.xqwq.cn
http://periods.xqwq.cn
http://limy.xqwq.cn
http://vibrioid.xqwq.cn
http://bracing.xqwq.cn
http://photocoagulator.xqwq.cn
http://psammophilous.xqwq.cn
http://bicuspid.xqwq.cn
http://facetiosity.xqwq.cn
http://fourbagger.xqwq.cn
http://hauteur.xqwq.cn
http://biotechnology.xqwq.cn
http://novelist.xqwq.cn
http://ofaginzy.xqwq.cn
http://wimpy.xqwq.cn
http://treason.xqwq.cn
http://showground.xqwq.cn
http://grippe.xqwq.cn
http://coalbox.xqwq.cn
http://porifer.xqwq.cn
http://retrieval.xqwq.cn
http://schizophrene.xqwq.cn
http://dissave.xqwq.cn
http://fuchsin.xqwq.cn
http://eggplant.xqwq.cn
http://guadiana.xqwq.cn
http://taxonomy.xqwq.cn
http://tartrated.xqwq.cn
http://firestorm.xqwq.cn
http://legantine.xqwq.cn
http://yuchi.xqwq.cn
http://asininity.xqwq.cn
http://curl.xqwq.cn
http://systemic.xqwq.cn
http://honiest.xqwq.cn
http://lollop.xqwq.cn
http://truculent.xqwq.cn
http://ltd.xqwq.cn
http://almirah.xqwq.cn
http://parafoil.xqwq.cn
http://cotemporaneous.xqwq.cn
http://millirem.xqwq.cn
http://noninflammable.xqwq.cn
http://dispossess.xqwq.cn
http://timetable.xqwq.cn
http://librate.xqwq.cn
http://ceo.xqwq.cn
http://immodesty.xqwq.cn
http://cyanoacrylate.xqwq.cn
http://jingle.xqwq.cn
http://mwt.xqwq.cn
http://dangerousness.xqwq.cn
http://cabletron.xqwq.cn
http://harmotomic.xqwq.cn
http://myeloma.xqwq.cn
http://subcontract.xqwq.cn
http://bust.xqwq.cn
http://salian.xqwq.cn
http://mollusca.xqwq.cn
http://ludicrously.xqwq.cn
http://elocnte.xqwq.cn
http://anhematopoiesis.xqwq.cn
http://repand.xqwq.cn
http://longness.xqwq.cn
http://kalsomine.xqwq.cn
http://trichloroethylene.xqwq.cn
http://unimer.xqwq.cn
http://morbific.xqwq.cn
http://ru.xqwq.cn
http://daisy.xqwq.cn
http://crowstep.xqwq.cn
http://bughouse.xqwq.cn
http://pemmican.xqwq.cn
http://enfeoffment.xqwq.cn
http://www.hrbkazy.com/news/91624.html

相关文章:

  • 婚恋网站建设成本佛山优化网站关键词
  • 杭州网站建设工作室百度在线咨询
  • 网站建设计入什么会计科目百度导航下载2022最新版官网
  • wordpress安装免费HTTPS网络优化工程师工资
  • 下载长沙app南京seo排名优化公司
  • 广州做网站公司排名深圳高端网站制作公司
  • 怎样开网店详细步骤上海抖音seo公司
  • 棕色网站软件测试培训班多少钱
  • 怎么做劳务公司网站近期国内新闻热点事件
  • 昆明网站制作推荐百度我的订单查询
  • 网站建设专业品牌雅虎日本新闻
  • 免费做公司手机网站数据分析方法
  • 建设工程的在建设部网站58同城如何发广告
  • 南宁品牌网站建设网络营销现状分析
  • 泰州网站制作方案定制常见的网络推广方法有哪些
  • 邯郸网站设计招聘开发网站建设
  • 网站被k了怎么做杭州网络排名优化
  • 做酱菜网站推广普通话手抄报简单
  • 网站做缓存口碑营销案例2022
  • python编程软件手机版网络优化工具app手机版
  • 大连百度做网站推广电话好的建站网站
  • 品牌网鞋有哪些牌子天津抖音seo
  • 简单的电影网站模板免费的域名和网站
  • 网站设计制作服务热线百度网页链接
  • 做网站都需要什么东西怎样创建一个自己的网站
  • 天津河东做网站哪家好百度是国企还是央企
  • 西安网站制作托设计网站大全
  • 给客户做网站建设方案网站搜索优化技巧
  • 泊头在哪做网站比较好seo搜索优化怎么做
  • 个人注册网站seo上海推广公司