自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

unihykes的专栏

杂七杂八

  • 博客(3)
  • 资源 (7)
  • 收藏
  • 关注

原创 示例详解----C++右值引用

C++右值引用相关

2018-05-24 18:15:25 895

原创 显式指定函数模板参数为引用类型

摘要: 某些场景下,显式指定函数模板参数为引用类型, 触发引用折叠, 会有一些反直觉的情况发生,特此记录一下: 例1:const T& #include <boost/type_index.hpp> using boost::typeindex::type_id_with_cvr; template<typename T&a

2018-05-28 10:57:57 1020

原创 示例详解----C++类型推导

C++类型推导

2018-05-28 01:05:26 483

MFC深入浅出_从MFC设计到MFC编程.chm

第1章 MFC概述........................................................................... 1 1.1 MFC是一个编程框架......................................................... 1 1.1.1 封装........................................................................ 1 1.1.2 继承........................................................................ 2 1.1.3 虚拟函数和动态约束................................................ 2 1.1.4 MFC的宏观框架体系................................................ 2 1.2 MDI应用程序的构成.......................................................... 3 1.2.1 构成应用程序的对象................................................ 3 1.2.2 构成应用程序的对象之间的关系.............................. 5 1.2.3 构成应用程序的文件................................................ 5 第2章 MFC和Win32..................................................................... 9 2.1 MFC Object和Windows Object的关系................................ 9 2.2 Windows Object................................................................ 12 2.2.1 Windows的注册...................................................... 12 2.2.2 MFC窗口类CWnd.................................................. 15 2.2.3 在MFC下创建一个窗口对象.................................. 17 2.2.4 MFC窗口的使用..................................................... 18 2.2.5 在MFC下窗口的销毁............................................ 19 2.3 设备描述表...................................................................... 20 2.3.1 设备描述表概述..................................................... 20 2.3.2 设备描述表在MFC中的实现.................................. 22 2.3.3 MFC设备描述表类的使用....................................... 24 2.4 GDI对象.......................................................................... 25 第3章 CObject类......................................................................... 28 3.1 CObject的结构................................................................. 28 3.2 CObject类的特性.............................................................. 30 3.3 实现CObject特性的机制.................................................. 32 3.3.1 DECLARE_DYNAMIC等宏的定义........................... 32 3.3.2 CruntimeClass类的结构与功能................................. 35 3.3.3 动态类信息、动态创建的原理................................ 38 3.3.4 序列化的机制......................................................... 39 第4章 消息映射的实现................................................................ 42 4.1 Windows消息概述............................................................ 42 4.1.1 消息的分类............................................................ 42 4.1.2 消息结构和消息处理.............................................. 42 4.2 消息映射的定义和实现.................................................... 44 4.2.1 MFC处理的三类消息.............................................. 44 4.2.2 MFC消息映射的实现方法....................................... 45 4.2.3 在声明与实现的内部.............................................. 46 4.2.3.1 消息映射声明的解释.................................... 47 4.2.3.2 消息映射实现的解释.................................... 49 4.2.4 消息映射宏的种类.................................................. 51 4.3 CcmdTarget类.................................................................. 54 4.4 MFC窗口过程.................................................................. 55 4.4.1 MFC窗口过程的指定.............................................. 56 4.4.2 对Windows消息的接收和处理............................... 58 4.4.2.1 从窗口过程到消息映射................................. 59 4.4.2.2 Windows消息的查找和匹配.......................... 60 4.4.2.3 Windows消息处理函数的调用....................... 62 4.4.2.4 消息映射机制完成虚拟函数功能的原理........ 63 4.4.3 对命令消息的接收和处理....................................... 64 4.4.3.1 MFC标准命令消息的发送............................. 64 4.4.3.2 命令消息的派发和消息的多次处理............... 67 4.4.3.3 一些消息处理类的OnCmdMsg的实现........... 69 4.4.3.4 一些消息处理类的OnCommand的实现......... 71 4.4.4 对控制通知消息的接收和处理................................ 72 4.4.4.1 WM_COMMAND控制通知消息的处理.......... 72 4.4.4.2 WM_NOTIFY消息及其处理:......................... 73 4.4.4.3 消息反射...................................................... 74 4.4.5 对更新命令的接收和处理....................................... 77 4.4.5.1 实现方法...................................................... 77 4.4.5.2 状态更新命令消息........................................ 78 4.4.5.3 类CCmdUI................................................... 79 4.4.5.4 自动更新用户接口对象状态的机制............... 80 4.5 消息的预处理.................................................................. 82 4.6 MFC消息映射的回顾........................................................ 83 第5章 MFC对象的创建............................................................... 85 5.1 MFC对象的关系............................................................... 85 5.1.1 创建关系................................................................ 85 5.1.2 交互作用关系......................................................... 86 5.2 MFC提供的接口............................................................... 87 5.2.1 虚拟函数接口......................................................... 87 5.2.2 消息映射方法和标准命令消息................................ 91 5.3 MFC对象的创建过程........................................................ 94 5.3.1 应用程序中典型对象的结构.................................... 94 5.3.1.1 应用程序类的成员变量................................. 95 5.3.1.2 CDocument的成员变量................................. 97 5.3.1.3 文档模板的属性........................................... 97 5.3.2 WinMain入口函数................................................... 99 5.3.2.1 WinMain流程................................................ 99 5.3.2.2 MFC空闲处理............................................. 101 5.3.3 SDI应用程序的对象创建....................................... 102 5.3.3.1 文档模板的创建.......................................... 102 5.3.3.2 文件的创建或者打开................................... 103 5.3.3.3 SDI边框窗口的创建.................................... 112 5.3.3.4 视的创建.................................................... 115 5.3.3.5 窗口初始化................................................. 116 5.3.3.6 视的初始化................................................. 120 5.3.3.7 激活边框窗口(处理WM_ACTIVE)............... 121 5.3.3.8 SDI流程的回顾........................................... 122 5.3.4 MDI程序的对象创建............................................. 123 5.3.4.1 有别于SDI的主窗口加载过程.................... 124 5.3.4.2 MDI子窗口、视、文档的创建..................... 125 5.3.4.3 MDI子窗口的初始化和窗口的激活.............. 127 第6章 应用程序的退出.............................................................. 131 6.1 边框窗口对WM_CLOSE的处理..................................... 131 6.2 窗口的销毁过程............................................................. 135 6.2.1 DestroyWindow..................................................... 135 6.2.2 处理WM_DESTROY消息..................................... 136 6.2.3 处理WM_NCDESTROY消息................................ 136 6.3 SDI窗口、MDI主、子窗口的关闭.................................. 137 第7章 MFC的DLL.................................................................... 139 7.1 DLL的背景知识.............................................................. 139 7.2 调用约定........................................................................ 141 7.2.1 MFC的DLL应用程序的类型................................. 142 7.3 DLL的几点说明.............................................................. 143 7.4 输出函数的方法............................................................. 145 第8章 MFC的进程和线程.......................................................... 148 8.1 Win32的进程和线程概念................................................ 148 8.2 Win32的进程处理简介.................................................... 148 8.2.1 进程的创建.......................................................... 148 8.2.2 进程的终止.......................................................... 149 8.3 Win32的线程.................................................................. 150 8.3.1 线程的创建.......................................................... 150 8.3.2 线程的终止.......................................................... 150 8.3.3 线程局部存储....................................................... 151 8.4 线程同步........................................................................ 152 8.4.1 同步对象.............................................................. 152 8.4.2 等待函数.............................................................. 153 8.5 MFC的线程处理............................................................. 154 8.5.1 创建用户界面线程................................................ 155 8.5.2 创建工作者线程................................................... 155 8.5.3 AfxBeginThread...................................................... 155 8.5.4 CreateThread和_AfxThreadEntry............................. 157 8.5.5 线程的结束.......................................................... 160 8.5.6 实现线程的消息循环............................................ 161 第9章 MFC的状态.................................................................... 163 9.1 模块状态........................................................................ 163 9.2 模块、进程和线程状态的数据结构................................. 164 9.2.1 层次关系.............................................................. 164 9.2.2 CNoTrackObject类................................................ 166 9.2.3 AFX_MODULE_STATE类..................................... 166 9.2.4 _AFX_BASE_MODULE_STATE.............................. 169 9.2.5 _AFX_THREAD_STATE........................................ 169 9.2.6 AFX_MODULE_THREAD_STATE.......................... 171 9.3 线程局部存储机制和状态的实现..................................... 172 9.3.1 CThreadSlotData和_afxThreadData......................... 173 9.3.1.1 CThreadSlotData的定义............................... 173 9.3.1.2 CThreadSlotData的一些数据成员................. 174 9.3.1.3 _afxThreadData............................................ 175 9.3.2 线程状态_afxThreadState....................................... 176 9.3.3 进程模块状态afxBaseModuleState.......................... 178 9.3.4 状态对象的创建................................................... 180 9.3.4.1 状态对象的创建过程................................... 180 9.3.4.2 创建过程所涉及的几个重要函数的算法....... 183 9.4 管理状态........................................................................ 184 9.4.1 模块状态切换....................................................... 184 9.4.2 扩展DLL的模块状态........................................... 186 9.4.2.1 _AFX_EXTENSION_MODULE..................... 187 9.4.2.2 扩展DLL的初始化函数.............................. 188 9.4.3 核心MFC DLL..................................................... 190 9.4.4 动态链接的规则DLL的模块状态的实现............... 190 9.5 状态信息的作用............................................................. 192 9.5.1.1 模块信息的保存和管理............................... 192 9.5.2 MFC资源、运行类信息的查找.............................. 193 9.5.3 模块信息的显示................................................... 194 9.5.4 模块-线程状态的作用........................................... 196 9.5.4.1 只能访问本线程MFC对象的原因............... 196 9.5.4.2 实现MFC对象和Windows对象之间的映射 196 9.5.4.3 临时对象的处理.......................................... 199 9.6 状态对象的删除和销毁................................................... 199 第10章 内存分配方式和调试机制............................................... 202 10.1 M内存分配................................................................... 202 10.1.1 内存分配函数..................................................... 202 10.1.2 C++的new 和 delete操作符................................ 204 10.2 调试手段...................................................................... 204 10.2.1 C运行库提供和支持的调试功能.......................... 204 10.2.2 MFC提供的调试手段.......................................... 205 10.2.3 内存诊断............................................................ 208 第11章 MFC下的文件类............................................................ 210 11.1 文件操作的方法........................................................... 210 11.2 MFC的文件类............................................................... 210 11.2.1 CFile的结构........................................................ 211 11.2.1.1 CFile定义的枚举类型................................. 211 11.2.1.2 CFile的其他一些成员变量.......................... 212 11.2.1.3 CFile的成员函数........................................ 212 11.2.2 CFile的部分实现................................................. 213 11.2.3 CFile的派生类..................................................... 215 第12章 对话框和对话框类CDialog............................................. 217 12.1 模式和无模式对话框.................................................... 217 12.1.1 模式对话框......................................................... 217 12.1.2 无模式对话框..................................................... 218 12.2 对话框的MFC实现...................................................... 219 12.2.1 CDialog的设计和实现.......................................... 219 12.2.1.1 CDialog的成员变量.................................... 219 12.2.1.2 CDialog的成员函数:................................ 219 12.2.2 MFC模式对话框的实现....................................... 220 12.2.2.1 MFC对话框过程........................................ 220 12.2.2.2 模式对话框窗口过程................................. 221 12.2.2.3 使用原对话框窗口过程作消息的缺省处理. 225 12.2.2.4 Dialog命令消息和控制通知消息的处理...... 226 12.2.2.5 消息预处理和Dialog消息.......................... 228 12.2.2.6 模式对话框的消息循环............................. 229 12.2.3 对话框的数据交换.............................................. 233 12.2.3.1 数据交换的方法........................................ 233 12.2.3.2 CDataExchange........................................... 234 12.2.3.3 数据交换和验证函数................................. 236 12.2.3.4 UpdateData函数......................................... 239 12.3 无模式对话框............................................................... 240 12.3.1 CScrollView......................................................... 240 12.3.2 CFormView.......................................................... 242 12.3.2.1 CFormView的创建..................................... 243 12.3.2.2 CFormView的消息预处理.......................... 245 12.3.2.3 CFormView的输入焦点.............................. 247 第13章 MFC工具条和状态栏..................................................... 248 13.1 Windows控制窗口........................................................ 248 13.2 MFC的工具条和状态栏类............................................. 249 13.2.1 控制窗口的创建.................................................. 251 13.2.1.1 PreCreateWindow....................................... 251 13.2.1.2 控制条的窗口创建.................................... 253 13.2.2 控制条的销毁..................................................... 259 13.2.3 处理控制条的位置.............................................. 259 13.2.3.1 计算控制条位置的过程和算法................... 259 13.2.3.2 CFrameWnd的虚拟函数RecalcLayout......... 260 13.2.3.3 CWnd的成员函数RepositionBars................ 262 13.2.4 工具条、状态栏和边框窗口的接口...................... 265 13.2.4.1 应用程序在状态栏中显示信息................... 265 13.2.4.2 状态栏显示菜单项的提示信息................... 268 13.2.4.3 控制条的消息分发处理............................. 270 13.2.4.4 Tooltip....................................................... 275 13.2.4.5 禁止和允许............................................... 279 13.2.4.6 显示或者隐藏工具栏和状态栏................... 285 13.2.5 泊位和漂浮......................................................... 286 第14章 SOCKET类的设计和实现............................................... 288 14.1 WinSock基本知识......................................................... 288 14.1.1 WinSock API....................................................... 288 14.1.2 Socket的使用...................................................... 290 14.2 MFC对WinSockt API的封装......................................... 291 14.2.1 CAsyncSocket...................................................... 291 14.2.2 socket对象的创建和捆绑..................................... 292 14.2.3 异步网络事件的处理........................................... 296 14.3 CSocket......................................................................... 297 14.4 CSocketFile.................................................................... 299

2013-08-20

深度探索C++对象模型

C++《深度探索C++对象模型》.pdf

2012-05-08

Linux命令大全

Linux命令大全 [此次共收入了316个命令,希望对大家有一定的价值!]

2012-04-18

Win32 API大全

作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的。本书首先对Win32 API函数做完整的概述;然后收录五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务;在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。

2012-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除