展开

关键词

MFC编程之五(MFC消息映射机制概述)

MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作。 比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应。 MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射 表,以及消息处理函数的声明和实现等代码。 五、添加消息处理函数    不管是自动添加还是手动添加都有三个步骤:    1、在类定义中加消息处理函数的函数声明,注意要以afx_msg打头。 例如WM_CREATE的消息映射口项:ON_WM_CREATE()。    3、在类的实现中添加消息处理函数的函数实现。 本节对MFC消息映射机制只是做了比较简单的讲解,让大家对它有一定的认识,编程这不必强求完全掌握。在以后的教程中会经常涉及 到消息的使用,大家会逐渐熟悉MFC的消息映射机制。

62410

MFC编程之六(对话框:创建对话框模板和修改对话框属性)

创建步骤同单文档程序大同小异,简单步骤如下:    1、选择菜单项File->New->Project,弹出New Project对话框;    2、左侧面板中Installed Templated的Visual C++下选择MFC ,中间窗口中选择MFC Application,然后在下面的Name编辑框中键工程名称, 本例取名“Addition”,在Location编辑框中设置工程的保存路径。

82710
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    无聊之作

    另一个著名的C++的GUI框架MFC,我并不喜欢。MFC是微软做的,也是我们下学期Windows程序设计这选修课要教的东西,因此我没有选Windows这选修课。我并不是为了混学分而选课的人。 个人感觉:MFC太复杂,虽然是C++,但面向过程的东 西太多,太多结构体,还有太多微软自定义的宏。而且类名,宏名的都是很长的名字,并且不是可读性强的名称,记起来和敲起来都甚为不便。 还有MFC的设计哲学,并不会是开发者对面向对象的概念有多大提高。而是让开发者纠结在很多细枝末节上。 毕竟MFC在90年代初期就出现了,那时候C++标准还未成熟,面向对象、软件工程的理论也不成熟,而且那时候设计模式的理论貌似还未提出或者刚刚提出。所以导致了MFC的先天畸形。 所以进两千年后,微软对MFC的更新放慢了,后来干脆就主推C#的winform、WPF了。

    9320

    人脸识别(三)——源码放送

    人脸识别相关的基本原理和流程,以及各个步骤的介绍和代码前两篇都有介绍,其实可以通过前两篇自行整合出完整的人脸识别源码,并且适当修改可以实现MFC程序实现。 这里为方便像我这样刚的新手学习,进行整合并将项目源码给出(包括ORL人脸库,40*10,需要自己添加进自己的人脸数据) 首先是开启摄像头;然后加载人脸检测器,加载人脸模型;利用加载的模型进行人脸检测 2.MFC程序? 如需要完整项目文件(可添加进自己人脸后直接运行),可在以下链接分别获取单文档程序项目和MFC程序项目。 人脸识别1:链接: https:pan.baidu.coms1jJ4sR34 密码: 73w3(orl人脸库压缩包在里面,自行解压)人脸识别2:MFC程序opencv3.0后版本没有CvvImage的相关文件 ,执行此程序和公众号前的文章MFC人脸检测一样,需自行下载:链接: https:pan.baidu.coms1jH9f47W 密码: ny9k;此项目的下载链接为链接: https:pan.baidu.coms1kXh61oz

    94280

    【答疑解惑】http的get和post的区别?

    问题2: QT与MFC最大的区别是什么? MFC(微软基础类库)是专为windows设计的一个用于开发图形用户界面的类库。 MFC或多或少使用了面向对象的方法包装了Win32的API,正因如此,这些API有时是C++,有时是C,甚至是C和C++的混合体。 它可以运行在Windows,Mac OS X, Unix这类嵌式系统中。 所以,目标很明确,如果你要跨平台,用QT,要在Windows上,那就MFC吧。没有比他更适合C++的了。

    45570

    C和C加加的学习过程总结,内有实用学习路线

    因此,利用C这语言,借此理解结构化开发思维,可以说是个很方便的路子。因为C的函数,本来就是为重用做准备的。同时,全局变量和cpp内部私有变量的差别,其使用原则,这些都能学到很多结构化开发思维。 4、学习C++的深技巧?C++在类的基础上,经过这么多年的发展,其实提供了很多深的概念,看起来很复杂,其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是? 什么叫应用开发呢,我会一语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。 不过还好,我们有侯老师的深浅出MFC,去找本来看看,如何从Win32API的纯C编程,改变为MFC的C++方式,看这个最快,基本上前6章看完,已经会了,这里我就不多说了。 最后还是要推荐下小编的CC ++学习交流群:五六七六二五六六八,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的CC ++和0基础教程,欢迎初学和进阶中的小伙伴

    51161

    MFC原理第一讲.MFC的本质.以及手工编写MFC的程序

    MFC原理第一讲.MFC的本质.以及手工编写MFC的程序PS: 这个博客属于复习知识.从头开始讲解. 在写这篇博客之前.已经写了3篇MFC的本质了.不过掌握知识点太多.所以从简重新开始.一丶MFC的本质是什么.  MFC的本质其实就是Win32程序的一种封装. 其实就是封装好了.我们直接用就行了.二丶手工编写一个MFC程序.  手工编写MFC程序.需要熟悉两个类  一个是CWinAPP,一个是CFramWnd类. 这两个类的作用.   并且提供构造.构造里面创建窗口.  5.CPP 文件必须包含MFC类库. afxWin.h  6. 使用MFC 静态库的方式.例如下图:?具体实现代码:  1. .h文件的代码. InitInstance(){ 窗口窗口保存在m_painWnd m_pMainWnd = new CMainWnd;        创建我们的窗口保存在m_pMainWnd中. m_pMainWnd成员是专保存窗口句柄的

    57740

    各种语言按钮事件特征码

    调试软件,最重要的就是下断点,那么如何下断点,就是一重要的技巧 比如:弹提示框,就下MessageBoxA,注册表的,就下RegOpenKeyA等等当然,能直接下到按钮事件,当然更为方便,因为到了按钮事件后 OD载后,CTRL+B 查找 816C24二、Delphi和BC++程序Delphi和BC++都是同一公司开发的,故查找方法都一样,当然你也可以使用DEDE.OD载后,CTRL+G,转到00401000 FF 55 FC 5F 5E四、VC++程序(非MFC程序)OD载后,单击鼠标右键,选择查找,然后是所有命令”在弹出的输框里,写特征代码 sub eax,0a然后断下后,F7跟进,F8几次,就来到按钮事件了五 、MFC类程序当然判断MFC和非MFC的程序,靠大家自己去判断了运行程序然后就CTRL+F,查找特征代码:sub eax,0a断下后F7跟进,F8几次,就会来到按钮事件代码处了! MFC: sub eax,0a  VC++: sub eax,0a 易语言: FF 55 FC 5F 5E或(e-debug)  万能断点: F3A58BC883E103F3A4E8 按钮事件如何使用

    44200

    简述C和C++的学习历程

    因此,利用C这语言,借此理解结构化开发思维,可以说是个很方便的路子。因为C的函数,本来就是为重用做准备的。同时,全局变量和cpp内部私有变量的差别,其使用原则,这些都能学到很多结构化开发思维。 4、学习C++的深技巧 C++在类的基础上,经过这么多年的发展,其实提供了很多深的概念,看起来很复杂,其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是? 什么叫应用开发呢,我会一语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。 呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?MFC是手段,不是目的,目的是开发Windows程序。 不过还好,我们有侯老师的深浅出MFC,去找本来看看,如何从Win32API的纯C编程,改变为MFC的C++方式,看这个最快,基本上前6章看完,已经会了,这里我就不多说了。

    30020

    ATL CLR MFC Win32 常规 的区别

    ----文章1ATL用于编写COM程序,CLR是.NET的公共语言运行库,MFC是指MFC类库,MFC程序是用这些类库做出的程序,WIN32常规就是不用 MFC,使用API函数编的程序。 从编程所处层次而言,WIN32为最底层,其次是MFC.然后是CLR. WIN32 winAPI MFC MFC类库 CLR .net库.WIN32常规就是不用MFC,使用API函数编的程序。 总的来说,这是一个垂老的库,微软在10年以来,除了对MFC进行修修补补以外,没有进行大的改进或者更新。如果你问MFC还会活多 久?恩,这是个问题。 但是ATL在处理UI这方面并不是很强,所以微软工程师有一个开源的UI 框架,叫做WTL,专用来处理UI的。 CString mfcMsg; MFC中的字符串类 mfcMsg = 第一个MFC与CLR混合编程的例子!

    43830

    VC++6.0单文件版及安装版,希望能帮助到需要的童鞋!

    嗯大部分都是学生,号主我也是从学生时代过来的,在大学期间相信大家都有学习一叫做C语言的课程,而这课程的考核就需要用到的vc++6.0,同样的,国家计算机二级考试也需要用到这个。 内容简介 VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加了微软提供的功能强大的MFC(Microsoft Foundation MFC中封装了大部分Windows API函数和Windows控件,它包含的功能涉及到整个Windows操作系统。 因此,使用VC++提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单。【搜狗百科】?下面开始今天的内容:一、单文件版如何使用:1、解压缩2、点击根目录的ShortCut.exe? 欢迎大家加FreeRoninQQ交流群点击→加组织。转发就是对我最大的支持!!愿你一生清澈明朗,所求随所愿,做想做之事,爱想爱之人!——号主寄语Lets GO GO GO 起来!

    36140

    从0开始学习黑客编程--第一节.环境搭建2

    点开那一行“继续但无需代码”,你将会进一个放空状态~啊,不好意思,是你的电脑将会进一个放空的界面。?你看,是不是空荡荡的,完全激不起任何的欲望嘛~维多利亚的秘密都比这个好看。? 当你按着我说的方式进这个程序之后,你会发现,哎,这个和书上说的好像不一样耶?书上说要在打开一个工程项目之后去配置,这个都没打开工程嘛~当然是选择不打开工程啦,因为上一篇少弄了一个东西。? 编译型语言就是程序在执行之前需要一个专的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了(抄的百度)。。。看不懂? 这里M指的多线程,因为都有,我就不作专解释。 我们要使用MFC的话就选择后面两种,其实这两种也比较好理解,静态就是直接生成执行文件的时候把使用的MFC对应的内容一起生成到执行文件里面,而共享DLL中使用MFC就需要系统自己带着对应MFC的DLL。?

    13920

    各种计算机语言的经典书籍(CC++JavaC#VCVB等)

    MFC(第二版)—–“MFC四大天王”——-侯捷MFC Windows程序设计(第2版)—MFC四大天王”———Jeff ProsiseVisual C++ 技术内幕(第4版)–MFC四大天王”——–David Kruglinski深解析MFC————-MFC四大天王”———–George ShepherdVisual C++.NET 技术内幕(第6版)-MFC四大天王”————David Kruglinski8 Direct3D游戏编程教程(第二版…21、移动开发Windows Mobile手机应用开发 SYMBIAN OS C++手机应用开发 68-Windows Mobile手机应用开发–傅曦 齐宇 Windows CE 开发技巧与实例–傅曦 Palm OS编程实践—绝版22、单片机单片机轻松———————————-周坚(平凡老师) 单片机典型模块设计实例导航———————–求是科技例说8051 (第二版) ——————-胡斌无线电元器件检测与修理技术轻松(第二版) ——————-胡斌图表细说电子技术识图——————-胡斌图表细说电子元器件——————-胡斌图表细说元器件及实用电路—————

    16420

    不要在一技术上吊死

    现象刚出道的朋友,特别是刚踏社会的学生,总是希望今后干活用的一定是自己熟悉的语言,当领导安排做其它的不同技术性活的时候,对于语言上的不同,心理上很排斥。对此,大可不必,年轻人多学几技术并不是坏事。 不要想着在一语言、一种技术上吊死。你可以精通一语言,同时,你也可以熟悉更多的语言,与计算机世界做更亲密的接触。我的起点我的编程起点从C++开始。大学做过一些比赛的软件,也给外面的公司开发过产品。 这一切都是基于Windows平台、基于MFC,那时,也学过linux,但觉得与自己很远。作为学生时代的我,没能体会linux的世界有多精彩。 当开始接触了MFC,使用MFC写出几个GDI图形界面的东西,就觉得帅气。最后回到linux,才发现还是文本模式最酷; 由于工作原因,需在linux下写C++后台,这才体会到C++的强大和不足。 学呗,有了之前的编程经验,3个月下来,至少可以达到熟悉的程度,对于其高级特性,可以在实践中深;编程的核心是算法和数据结构,这些,是我们大学最熟悉不过的东西。

    489130

    Python Qt GUI设计简介、环境下载和安装

    经常有人将 MFC 和 Qt 进行对比,MFC 只能应用在 Windows 平台,而 Qt 是跨平台的,一次编写,到处运行。 另外,Qt 已经封装了底层细节,学习 Qt 将会非常简单;而 MFC 只是给 Windows API 加了一层包装,不了解 Windows API 也学不好 MFC,大家普遍反映 MFC 难学。 3、Qt 环境下载Qt 官网有一个专的资源下载网站,所有的开发环境和相关工具都可以从这里下载,如下图所示:?地址:http:download.qt.io对应目录说明如下所示:? 点击进 archive 目录,会看到五个子目录:?对应目录说明如下所示:?进 qt 子目录 ,看到如下列表:? ----参考资料、拓展学习:1、Qt Creator使用教程(简明版)2、Qt教程,Qt5编程教程(非常详细)3、Qt Creator 的下载与安装4、Qt wiki 网站:https:wiki.qt.ioMain5

    8330

    VC控件使用小结

    这段时间通过使用MFC做车牌识别系统和媒体播放器,重新温习了一下MFC,特别是控件的使用,同时也学习了ADO技术、Socket网络编程、文件传输、OpenCV、多线程、数字图像处理、Windows Media Player、CActiveMovie控件、DricetShow多媒体等的知识,不过由于时间有限,有些东西也没有深,但是学习编程的方法都是相通的。 觉得有时还是通过项目实践学习的知识比较快,通过参考别人的代码结合MSDN这些API参考文档,加深对一新技术的理解和消化对于初学者来时往往不失为一种快速的手段。 废话不多说了,进主题吧,今天把我学习到的MFC控件做一个小结吧,希望能给其他的人以帮助吧。    我在使用MFC做媒体播放器时,在涉及到ADO数据库查询后将查询结果放在CListCtrl控件上。查询一次后,当第二次查询时,必须清除上次结果的所有内容,包括列标题头和显示行的内容。

    23210

    Qt和MF优缺点分析

    toc (MFC效率较高,但大量的Windows API和消息机制使得其较难理解,不易用;QT封装较好,易用且==跨平台==,但效率较低) MFC(微软基础类库)是专为windows设计的一个用于开发图形用户界面的类库 它可以运行在Windows,Mac OS X, Unix,还有像Sharp Zaurus这类嵌式系统中。Qt是完全面向对象的。 Unicode使用MFC,如果要显示unicode,在编译链接的时候必须用到特殊的参数(和改变可执行文件执行的口),必须在每个string前面加上T,将 char修改成TCHAR,每个字符串处理函数( (译者注:下面还有两条陈述MFC缺点的实例,但我感觉这些已经够说明问题了,暂时删节不译)然而Qt并没有资源的概念,这就解决了以上所提到的问题。Qt提供了一个脚本使得能将编你的代码。 感觉MFC相比QT的确有很多的不足,但MFC的用户群巨大。Qt要想短时间撼动MFC的地位,还是有点难度的

    21650

    Qt和MFC的区别

    @toc (MFC效率较高,但大量的Windows API和消息机制使得其较难理解,不易用;QT封装较好,易用且==跨平台==,但效率较低) MFC(微软基础类库)是专为windows设计的一个用于开发图形用户界面的类库 它可以运行在Windows,Mac OS X, Unix,还有像Sharp Zaurus这类嵌式系统中。Qt是完全面向对象的。 Unicode 使用MFC,如果要显示unicode,在编译链接的时候必须用到特殊的参数(和改变可执行文件执行的口),必须在每个string前面加上T,将 char修改成TCHAR,每个字符串处理函数 (译者注:下面还有两条陈述MFC缺点的实例,但我感觉这些已经够说明问题了,暂时删节不译) 然而Qt并没有资源的概念,这就解决了以上所提到的问题。Qt提供了一个脚本使得能将编你的代码。 感觉MFC相比QT的确有很多的不足,但MFC的用户群巨大。Qt要想短时间撼动MFC的地位,还是有点难度的

    19541

    VC的内存泄漏检查

    我们在程序口处,调用: _CrtSetBreakAlloc(111); 那么在第111次分配内存时,程序就会中断。 二、对于MFC程序 MFC工程,最终也是按Win32工程方式的内存泄漏执行,不过MFC工程创建向导生成的MFC工程,自动支持C++分配的内存泄漏检测,我们不需要任何处理。 为了在程序结束时可以打印泄漏报告,在程序口处调用: _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);MFC程序检测c和C++内存泄漏的通知做法是 所以,安全的做法有两种: 一种是,专做一个头文件,如DumpMemoryLeaks.h,内容如下: #pragma once#ifdef _DEBUG #define new DEBUG_NEW #endif 用EMEditor的DumpMemoryLeaks.jsee宏,为剩余的CPP文件,插#define new宏。

    44740

    (转载)VC的内存泄漏检查

    我们在程序口处,调用: _CrtSetBreakAlloc(111); 那么在第111次分配内存时,程序就会中断。 二、对于MFC程序 MFC工程,最终也是按Win32工程方式的内存泄漏执行,不过MFC工程创建向导生成的MFC工程,自动支持C++分配的内存泄漏检测,我们不需要任何处理。 为了在程序结束时可以打印泄漏报告,在程序口处调用: _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);MFC程序检测c和C++内存泄漏的通知做法是 所以,安全的做法有两种: 一种是,专做一个头文件,如DumpMemoryLeaks.h,内容如下: #pragma once#ifdef _DEBUG #define new DEBUG_NEW #endif 用EMEditor的DumpMemoryLeaks.jsee宏,为剩余的CPP文件,插#define new宏。

    40720

    扫码关注云+社区

    领取腾讯云代金券