随笔分类 - VC++ MFC
摘要:深度剖析消息反射机制作者:hustli 摘要:在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正。 什么是消息反射? 在windows里面,子控件经常向父控件发送消息,
阅读全文
摘要:在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API 你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库 然后你来调用 只不过这个类不是你写的 MFC提供数百个类,最重要的、也是编写任
阅读全文
摘要:对话框有两种创建方式:DoModal和Creat。 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同。对于模态的对话框,在该对话框被关闭前,用户将不能在同一应用程序的其他地方进行工作(例如open file对话框),而对于非模态的对话框,在它留在屏幕上的...
阅读全文
摘要:用户界面线程实现的技巧1.问题阐述MFC中有两类线程,分别称为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他...
阅读全文
摘要:前几天,查了一个batch的问题,问题大致是这样,父窗口消息一个鼠标消息,弹出一个模态框,CPU负荷就飚升到100%(双核就是50%),非常怪异,用windbg,分析哪个线程占用CPU,定位到鼠标响应函数,也就是弹出模态框的函数,windbg提供的信息有限,只能自己分析,经过各种尝试,发现与模态框里...
阅读全文
摘要:MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObje
阅读全文
摘要:问题背景: 窗体在重绘时,由于过频的刷新会引起闪烁现象——窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。 绘制过程: 当窗口
阅读全文
摘要:我觉得自己有能力看懂MFC的C++代码和总体流程,但是由于MFC混杂了太多的东西,比如OLE等等不必要的东西,又做了无数的ASSERT判断,影响整体流程的理解。因此我要做一个精简版的MFC,而且能用它做开发,就是用现有的VC++小程序编译、仍可照样运行。这么做的原因是,希望把MFC的所有思想融为自己...
阅读全文
摘要:原文出自:http://blog.csdn.net/yuvmen/article/details/5877271了解MFC程序的启动过程,对于初学者来讲,了学习MFC很有帮助;对于不常用VC的人来说,过一段时间就会忘记。还是来记下来,方便以后查阅。1、创建Application object对象th...
阅读全文
摘要:看了不少C++书,当讲到静态变量的时候,总是以int成员来举例,是啊,这样很好理解。但是如果这个静态变量是一个对象行不行呢?不仅行,有时候还非常必要,而且别有洞天。比如:// .h 文件class SystemGlobal{public: static ConfigXML* m_pInstance;...
阅读全文
摘要:我自己对于没有学会MFC始终耿耿于怀,都什么时代了啊,但是我仍然坚持会去学MFC,因为MFC虽然落后与复杂,但是在Windows平台上仍然是无所不能的(其实Windows平台仍然是唯一可以赚钱的平台,看看QQ就只提供Windows版本,虽然它早就换掉了MFC、使用DIRECTUI开发)。何况我是一个
阅读全文
摘要:CTestApp::CTestApp(){ // 断点加在这里,然后可单步进入CTestApp的父类CWinApp的构造函数进行调试!int i=0;}并且在CWinApp的构造函数的左括号上,可进一步进入其父类构造函数CWinThread进行调试,以此类推。
阅读全文
摘要:1. MFC借助C++的优势为Windows开发开辟了一片新天地,同时也借助 ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码2. 借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。3. 更令人兴奋的是利用C++的封装功能使开发者摆脱W...
阅读全文
摘要:windows消息机制(MFC) windows消息机制(MFC) 消息分类与消息队列 Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型, 而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样。 time表示产
阅读全文
摘要:MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc(...
阅读全文
摘要:MFC框架各部分指针获取方式前人在CSDN总结的,曾经帮助过我,整理总结一下,希望也能帮助一下别人。获得CWinApp获得CMainFrame获得CChildFrame获得CDocument获得CView在CWinApp中AfxGetMainWnd()m_pMainWndAfxGetMainWnd(...
阅读全文
摘要:第一种--使用mfc.bsc源浏览器文件 mfc.bsc是可以查看MFC源代码的文件,其位置在MFC源代码文件夹下,Visual Studio版本不一样的话,位置也不一样。vc6.0位置:C:/Program Files/Microsoft Visual Studio/VC98/MFC/SRC/vc
阅读全文