《Windows程序设计技术基础 MFC与.NET》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:任哲等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111269212
  • 页数:394 页
图书介绍:本书主要介绍了有关WINDOWS程序设计的应用与操作系统。

第1章 Windows程序基础 1

1.1 Windows应用程序的基本概念 1

1.1.1 窗口界面与Windows史话 1

1.1.2 API函数 3

1.2 Windows的数据类型 4

1.2.1 Windows数据类型 4

1.2.2 Windows的一个特殊数据类型——句柄 5

1.2.3 窗口类WNDCIASS 8

1.3 窗口的创建和显示 9

1.4 事件、消息循环和窗口函数 12

1.5 Windows应用程序的结构 15

1.5.1 主函数 15

1.5.2 消息的处理部分——窗口函数 17

1.5.3 Windows系统、主函数、窗口函数之间的关系 18

1.6 Windows程序代码重构 21

1.7 习题 25

第2章 Windows程序的类封装 27

2.1 应用程序主函数的C++类封装 27

2.1.1 窗口类 27

2.1.2 应用程序类 29

2.1.3 主函数封装后的程序 30

2.1.4 主函数获得应用程序类对象的问题 34

2.2 派生类的应用 36

2.2.1 应用程序类的派生类 37

2.2.2 窗口类的派生类 38

2.3 窗口函数的封装 42

2.3.1 窗口函数的简单封装 43

2.3.2 消息映射 46

2.3.3 消息映射表的声明和实现 48

2.4 习题 51

第3章 MFC应用程序框架 52

3.1 早期的应用程序框架及其MFC类 52

3.1.1 早期的应用程序框架 52

3.1.2 MFC的窗口类 53

3.1.3 CWinApp的基类CWinThread 53

3.2 最简单的MFC程序实例 54

3.2.1 程序的编写 54

3.2.2 程序主函数的代码 56

3.3 应用程序的文档/视图结构 57

3.3.1 文档/视图结构的基本概念 57

3.3.2 单文档界面和多文档界面结构 58

3.4 文档类CDocument的派生类 59

3.5 视图类CView的派生类 60

3.6 窗口框架类CFrameWnd的派生类 62

3.7 文档模板类CDocTemplate 63

3.8 应用程序类CWinApp的派生类 64

3.8.1 应用程序类派生类的代码 64

3.8.2 程序员的主要工作 66

3.8.3 应用程序各对象创建的顺序 66

3.9 类信息表及其用途 67

3.9.1 类信息表及RTTI 67

3.9.2 类信息表及对象动态创建 70

3.9.3 类信息总表及其相关宏 73

3.9.4 CObject类对RTTI的支持 76

3.9.5 利用类信息表动态创建对象 78

3.10 习题 80

第4章 MFC的常用类 81

4.1 简单数据类 81

4.1.1 点类CPoint 81

4.1.2 矩形类CRect 82

4.1.3 尺寸类CSize 83

4.1.4 字符串类CString 83

4.2 群体数据类 84

4.3 DC和GDI 85

4.3.1 图形设备描述环境 85

4.3.2 图形设备接口 85

4.3.3 MFC的绘图工具类 85

4.4 CDC类 86

4.5 绘图工具类 88

4.5.1 画笔CPen 88

4.5.2 画刷CBrush 91

4.6 文本和CFont类 93

4.6.1 显示文本 93

4.6.2 字体和CFont类 97

4.7 CDC的其他派生类 98

4.7.1 窗口用户区设备描述环境CClientDC类 98

4.7.2 图元文件设备描述环境CMetaFileDC类 99

4.8 习题 102

第5章 鼠标和键盘 104

5.1 鼠标消息及其处理 104

5.1.1 用户区鼠标消息 104

5.1.2 非用户区鼠标消息 108

5.1.3 鼠标消息的捕获 109

5.2 键盘消息及其处理 110

5.2.1 按键的虚拟码 110

5.2.2 一般按键消息 113

5.2.3 系统按键消息 114

5.3 应用程序窗口的焦点 114

5.4 习题 116

第6章 资源及控件 118

6.1 资源文件 118

6.1.1 资源头文件 118

6.1.2 资源描述文件 119

6.2 菜单的资源描述文件 120

6.2.1 资源描述文件的菜单部分 121

6.2.2 编辑现有菜单 123

6.2.3 使用可视化菜单编辑器编辑菜单 125

6.3 图标与位图 126

6.3.1 图标 126

6.3.2 位图 128

6.4 控件及其使用 131

6.4.1 控件 131

6.4.2 静态文本控件 132

6.4.3 按钮控件 133

6.4.4 编辑控件 137

6.5 对话框 139

6.5.1 对话框资源描述文件 139

6.5.2 模态对话框 141

6.5.3 控件数据与类成员数据之间的关联 145

6.5.4 以对话框为主界面的应用程序 149

6.5.5 关于应用程序的两种界面 152

6.6 习题 153

第7章 库 155

7.1 链接库 155

7.1.1 静态链接库 155

7.1.2 动态链接库 157

7.2 动态链接库的创建 160

7.2.1 导出函数的声明 160

7.2.2 用MFC编写DLL 162

7.3 动态链接库的使用 166

7.3.1 隐式链接方式 166

7.3.2 显式链接方式 166

7.4 习题 168

第8章 组件对象模型基础 169

8.1 软件的模块化 169

8.1.1 函数模块 169

8.1.2 类模块 170

8.2 带有接口的类模块 171

8.2.1 接口的必要性及其实现 171

8.2.2 类模块管理系统 173

8.3 组件对象模型 177

8.3.1 COM术语 177

8.3.2 组件类、接口的标识及注册 178

8.4 COM所规定的标准接口 179

8.4.1 接口IUnknown 179

8.4.2 接口IClassFactory和IDispatch 182

8.4.3 COM接口的二进制标准及IDL语言 183

8.5 使用ATL设计组件 184

8.5.1 ATL对COM的支持 184

8.5.2 使用ATL设计组件的步骤和方法 185

8.6 习题 187

第9章 MFC的文件处理机制 188

9.1 CFile类 188

9.2 CArchive类 189

9.2.1 CArchive类对象与CFile类对象的关联 189

9.2.2 CArchive的常用函数 190

9.3 对象序列化的基本概念 191

9.3.1 序列化概念及对象序列化的特殊性 191

9.3.2 一个序列化示例 194

9.4 MFC对象序列化机制 196

9.4.1 两个小问题的处理 196

9.4.2 序列化宏 197

9.4.3 可序列化类的声明 199

9.5 文件的扩展名 201

9.6 习题 203

第10章 .NET和C#简介 204

10.1 .NET及.NET Framework 204

10.1.1 .NET的出现 204

10.1.2 .NET概览 207

10.1.3 开发语言和开发工具 209

10.1.4 托管和非托管代码的概念 210

10.2 C#简介 212

10.2.1 C#语言的由来及其目标 212

10.2.2 C#的特点 212

10.2.3 C#的值类型和引用类型 215

10.2.4 装箱和拆箱 216

10.3 C#程序及其开发工具 218

10.3.1 一个简单的C#程序及.NET Framework SDK 218

10.3.2 C#及可视化集成开发环境Visual Studio 220

10.4 .NET的应用程序域 221

10.4.1 应用程序域的基本概念 221

10.4.2 应用程序域的创建 222

10.5 习题 224

第11章 C#语言精要 225

11.1 C#语言基础 225

11.1.1 类 225

11.1.2 类的继承 226

11.1.3 C#的多态性 228

11.2 C#对低耦合代码的支持 231

11.2.1 接口及其作用 231

11.2.2 抽象类及其作用 239

11.2.3 委托 243

11.3 C#新发展的方法成员 247

11.3.1 属性 247

11.3.2 索引指示器 250

11.3.3 事件 254

11.3.4 系统预定义事件 259

11.4 习题 261

第12章 C# Windows程序设计 263

12.1 概述 263

12.1.1 窗体和控件 263

12.1.2 开发环境生成的代码 266

12.1.3 设计时控件属性设置 272

12.1.4 菜单设计 273

12.2 图形与图像 276

12.2.1 Graphics类与图形 276

12.2.2 Graphics类与图像 279

12.2.3 图像变换 280

12.3 C#.NET程序的文档/视图结构 282

12.3.1 电子钟示例 282

12.3.2 利用事件实现文档/视图程序 287

12.4 习题 291

第13章 C#程序集 293

13.1 程序集 293

13.1.1 C#程序集的基本概念 294

13.1.2 模块 295

13.1.3 程序集的制作 297

13.1.4 使用Visual Studio创建和引用程序集 301

13.2 私有程序集及其部署 303

13.3 公有程序集及其部署 305

13.3.1 全局程序集缓存GAC 306

13.3.2 公有程序集的数字签名 306

13.3.3 公有程序集的创建 308

13.3.4 公有程序集的部署及引用 310

13.3.5 公有程序集的版本控制 313

13.4 习题 316

第14章 C#的反射机制 318

14.1 概述 318

14.2 System.Type类 320

14.2.1 System.Type类的属性 320

14.2.2 目标类的System.Type对象 320

14.3 与System.Type配套的容器类 324

14.3.1 容器类的作用 324

14.3.2 类信息的过滤和搜索 327

14.3.3 目标类对象的创建及其方法的调用 329

14.4 System.Reflection.Assembly类 333

14.4.1 Assembly对象的创建方法1 334

14.4.2 Assembly对象的创建方法2 336

14.5 Emit技术简介 336

14.5.1 概述 337

14.5.2 框架构建器类 337

14.5.3 代码的发射 340

14.6 习题 347

第15章 C#的特性 348

15.1 概述 348

15.1.1 特性的概念 348

15.1.2 特性的格式及使用规则 350

15.2 常用预定义特性 350

15.2.1 几个常用的预定义特性 351

15.2.2 用于声明序列化类的特性SerializableAttribute 353

15.3 自定义特性 357

15.3.1 Attribute类 357

15.3.2 AttributeUsageAttribute 360

15.4 习题 361

第16章 C#线程 362

16.1 线程的概念 362

16.1.1 进程 362

16.1.2 线程 364

16.2 C#的线程及其创建 365

16.2.1 System.Threading.Thread类 365

16.2.2 线程的创建 366

16.3 线程控制 368

16.3.1 问题的起源 369

16.3.2 互斥 371

16.3.3 C#的互斥实现方法 373

16.4 习题 375

附录 377

附录A 数据类型与Windows句柄 377

附录B 标识符的匈牙利记法 379

附录C MFC的消息映射 380

附录D C#的异常处理 385

附录E CSC命令集 387

附录F 窗口控件的共有属性、事件和方法 388

参考文献 394