MFC和设计模式
摘要:MFC and Design Patterns:http://www.codeproject.com/Articles/892/MFC-and-Design-Patterns旧文,简述了MFC中的3个设计模式。
阅读全文
posted @
2013-05-12 18:52
qinfengxiaoyue
阅读(324)
推荐(0)
MFC:只允许产生一个应用程序实例的具体实现
摘要:转自:http://blog.csdn.net/sdcxyz/article/details/6804566 ,有改动。 Windows是多进程操作系统,框架生成的应用程序可以多次运行,形成多个运行实例。但在有些情况下为保证应用程序的安全运行,要求程序 只能运行一个实例,比如程序要使用只能被一个进程单独使用的特殊硬件(例如调制解调器)时,必须限制程序只运行一个实例。 这里涉及两个基本的...
阅读全文
posted @
2013-04-29 22:56
qinfengxiaoyue
阅读(1648)
推荐(0)
MFC非模态对话框的销毁
摘要:转自:http://www.cnblogs.com/afarmer/archive/2012/03/31/2427328.html,节选。非模态对话框相对于模态对话框,其创建和销毁过程和模态对话框有一定的区别 。先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCancel member function and call DestroyWindow from within it. Don’t call the base class CDialog::OnCancel, because it
阅读全文
posted @
2013-04-27 17:49
qinfengxiaoyue
阅读(1649)
推荐(0)
MFC:关于MFC窗口对象(CWnd对象)与Window对象(HWND所指对象)的销毁问题
摘要:转自:http://blog.csdn.net/xiaoxiongli/article/details/1670277一个MFC窗口对象包括两方面的内容:一是窗口对象封装的窗口,即存放在m_hWnd成员中的HWND(窗口句柄),二是窗口对象本身是一个C++对象。要删除一个MFC窗口对象,应该先删除窗口对象封装的窗口,然后删除窗口对象本身。删除窗口最直接方法是调用CWnd::DestroyWindow或::DestroyWindow,前者封装了后者的功能。前者不仅会调用后者,而且会使成员m_hWnd保存的HWND无效(NULL)。如果DestroyWindow删除的是一个父窗口或拥有者窗口,则该
阅读全文
posted @
2013-04-27 17:21
qinfengxiaoyue
阅读(909)
推荐(0)
CRT Debugging Techniques / Finding Memory Leaks Using the CRT Library
摘要:关键字:C/C++ CRTDebugging 内存泄露 检测CRT Debugging Techniques :http://msdn.microsoft.com/en-us/library/zh712wwf.aspxFinding Memory Leaks Using the CRT Library : http://msdn.microsoft.com/en-us/library/x98tx3cf.aspx
阅读全文
posted @
2013-04-24 11:58
qinfengxiaoyue
阅读(166)
推荐(0)
WinMain是如何被链接到一个MFC应用程序中的?
摘要:译自:http://stackoverflow.com/questions/6871836/how-does-mfcs-wwinmain-end-up-in-the-executable 在VS的解决方案管理中右击你的MFC项目:属性-》链接器-》命令行,在命令行的其他选项中添加链接参数:/verbose . 然后重新生成项目, 此时在输出窗口会显示出链接器所找到的一系列的符号的追踪情况。在其...
阅读全文
posted @
2013-02-25 15:19
qinfengxiaoyue
阅读(1606)
推荐(0)
MFC的静态库.lib、动态库.dll(包含引入库.lib)以及Unicode库示例
摘要:以vs2012为标准。转自:http://technet.microsoft.com/zh-cn/library/w4zd66ye ,有改动。 一 MFC的静态库(.lib) MFC静态库使用下列命名约定: uAFXcWd.LIB . 库命名约定的说明符如下: 说明符 值和含义 u (n) ANSI...
阅读全文
posted @
2013-02-20 21:59
qinfengxiaoyue
阅读(6119)
推荐(0)
MFC的运行及消息机制(一):从一个空项目开始编写MFC程序
摘要:对比传统的Win32 API编程,MFC封装了很多东西;而AppWizard的使用,更是隐藏了很多过程。这样使得我们对MFC程序的运行的过程顺序、关系、细节把握不清,难以进行高质量的程序编写。 要想较好的把握MFC,主要的问题有三个方面: 1.对Win32 API编程及Windows平台的基本机制有一定认识(消息队列和消息分类) 2.对程序的编译、链接、装载、库等方面有一定认识 3.对C+...
阅读全文
posted @
2013-02-18 18:24
qinfengxiaoyue
阅读(5468)
推荐(0)
在VC空项目里添加自定义的预编译头(或关于:无法打开预编译头文件:“Debug/xxx.pch”: No such file or directory的问题的解决)
摘要:转自:http://www.cppblog.com/silekey/articles/87108.html 注:MFC默认生成的框架暗地里添加了很多编译、链接参数,当我们想自定义自己的框架时若对这些编译参数不熟悉则会引发很多问题。 关键字:VC空项目 自定义 预编译头 .pch 无法打开预编译头文件:“Debug/xxx.pch”: No such file or directory ...
阅读全文
posted @
2013-02-18 15:53
qinfengxiaoyue
阅读(13650)
推荐(1)
Windows消息(二):消息的分类以及模拟发送控件通知消息
摘要:转自:http://blog.sina.com.cn/s/blog_4b3c1f950100nten.html 1. 标准消息(队列消息) 除WM_COMMAND之外,所有以WM_开头的消息都是标准消息,如WM_MOUSEMOVE、WM_LBUTTONUP、 WM_KEYDOWN、WM_CHAR。 从CWnd派生的类都可以接收到这类消息。 Windows每次从系统消息队列移走一个消息,确...
阅读全文
posted @
2013-02-12 22:53
qinfengxiaoyue
阅读(2820)
推荐(0)
Windows消息(一):队列消息和非队列消息
摘要:转自:http://www.cppblog.com/mzty/archive/2006/11/24/15619.html 一 系统消息队列和应用程序消息队列 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程 序消息队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中 ...
阅读全文
posted @
2013-02-12 22:28
qinfengxiaoyue
阅读(11590)
推荐(2)
VC++动态链接库(DLL)编程深入浅出
摘要:VC++动态链接库(DLL)编程深入浅出原作者:宋宝华
阅读全文
posted @
2013-02-11 00:03
qinfengxiaoyue
阅读(264)
推荐(0)
Windows进程通信(2)--使用内存映射文件
摘要:转自:http://blog.csdn.net/xiaobai1593/article/details/7488351 内存映射文件是通过两个或多个进程映射同一个文件映射对象的视图来实现的,这意味着它们将共享物理存储器的同一个页 面。因此,当一个进程将数据写入一个共享文件映射 对象的视图时,其他进程可以立即看到它们视图中的数据变更情况。如果多个进程共享单个文件映射对象,那么所有进程必须 使...
阅读全文
posted @
2013-02-06 23:17
qinfengxiaoyue
阅读(3389)
推荐(0)
Windows 进程通信(1)--使用WM_COPYDATA
摘要:转自:http://blog.sina.com.cn/s/blog_543ef0f4010008cx.html 通过WM_COPYDATA消息实现进程间通信的方法 在Win32中,WM_COPYDATA消息主要目的是允许在进程间传递只读数据。SDK文档推荐用户使用SendMessage()函 数,接收方在数据复制完成前不返回,这样发送方就不可能删除和修改数据。这个函数的原型如下: Send...
阅读全文
posted @
2013-02-06 22:51
qinfengxiaoyue
阅读(584)
推荐(0)