本书详细描述了使用Visual C++ 2005与MFC开发Windows窗体应用程序的方法,通过循序渐进的教学模式,一步步教读者构建功能复杂的Win32应用程序。本书面向Visual C++初学者,要求读者必须有C++语言基础,而且能够操作Windows,如果在面向对象及数据结构方面有深入的了解则更佳。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 新一代Visual C++2005程序设计(珍藏版) |
分类 | |
作者 | 林俊杰 |
出版社 | 清华大学出版社 |
下载 | |
简介 | 编辑推荐 本书详细描述了使用Visual C++ 2005与MFC开发Windows窗体应用程序的方法,通过循序渐进的教学模式,一步步教读者构建功能复杂的Win32应用程序。本书面向Visual C++初学者,要求读者必须有C++语言基础,而且能够操作Windows,如果在面向对象及数据结构方面有深入的了解则更佳。 内容推荐 本书详细描述了使用Visual C++ 2005与MFC开发Windows窗体应用程序的方法,通过循序渐进的教学模式,一步步教读者构建功能复杂的Win32应用程序。 全书共19章,前3章简单回顾了C++语言的重点并介绍MFC库中与窗口无关的一些基础类,接下来逐章讲述窗口程序设计的基本概念、窗口类CWnd、Windows控件、键盘及鼠标的相关用法、控制菜单的方法、MFC文档/视图结构、绘图及处理位图的方法、打印及控制打印图形尺寸的方法、ActiveX控件。第18、19章是较高级的主题,分别讨论Win32模式下的内存管理、进程及多线程系统,以及registry系统。 本书面向Visual C++初学者,要求读者必须有C++语言基础,而且能够操作Windows,如果在面向对象及数据结构方面有深入的了解则更佳。 目录 第1章 综述 1 1.1 本书结构 1 1.2 本书约定 2 第2章 C++重点回顾 3 2.1 类、对象与实例 3 2.2 构造函数(Constructor) 3 2.3 匿名实例(Nameless Instance) 4 2.4 虚函数 5 2.5 异常处理 7 第3章 基本概念与基础MFC类 10 3.1 什么是Win32 API 10 3.2 控制台模式的应用程序——Win32 Console Mode 10 3.3 基本数据类型 11 3.4 什么是Unicode 14 3.5 使用MFC类库 15 3.5.1 MFC的根CObject 15 3.5.2 功能强大的字符串类CString 15 3.5.3 CFile家族 17 3.5.4 CException异常类家族 19 3.5.5 通用的列表类CList 23 第4章 窗口程序的基本概念 25 4.1 文字终端与GUI界面 25 4.2 组成要素 26 4.2.1 应用程序 26 4.2.2 窗口 27 4.2.3 消息传递机制 30 第5章 创建第一个窗口程序 32 5.1 使用Visual C++ 32 5.1.1 创建新项目 32 5.1.2 设置项目选项 34 5.1.3 创建新CPP文件 35 5.1.4 编译与执行示例程序 36 5.1.5 调试 36 5.2 示例程序 37 5.2.1 HelloApp 38 5.2.2 MyFrameWindow 39 5.3 增加资源文件 41 5.3.1 创建新的资源文件 41 5.3.2 符号与资源的包含文件(Include Files) 41 5.3.3 插入资源 42 5.3.4 编辑位图资源 43 5.3.5 编辑图标资源 44 5.3.6 编辑菜单资源 44 5.3.7 引用资源 46 5.4 用MFC Application Wizard产生程序 50 5.4.1 用MFC Application Wizard产生项目 51 5.4.2 产生了什么程序代码 54 5.4.3 在CChildView内显示文字 56 第6章 窗口的产生与处理 58 6.1 窗口类 58 6.2 产生CWnd对象 59 6.2.1 CWnd::Create() 60 6.2.2 CWnd::CreateEx() 62 6.2.3 WM_CREATE消息 63 6.2.4 CREATESTRUCT 63 6.3 处理消息 64 6.3.1 映射表 64 6.3.2 给窗口发送消息 65 6.4 关闭窗口 67 6.5 窗口位置与尺寸 69 6.5.1 获取窗口的位置及大小 69 6.5.2 移动窗口与改变大小 69 6.5.3 移动窗口、改变大小及垂直相对位置 69 6.5.4 移动与改变大小的消息 71 6.5.5 改变窗口显示的状态 72 6.5.6 工作区的相关消息 72 6.5.7 坐标系统的转换 73 6.6 窗口的状态与样式 74 6.6.1 图标化 74 6.6.2 可见性 74 6.6.3 放大 74 6.6.4 使能 74 6.6.5 活动与非活动 75 6.6.6 子窗口 75 6.6.7 窗口的样式 76 6.7 工作区显示 76 6.8 有滚动条的窗口 78 6.8.1 滚动条 78 6.8.2 滚动条的范围 79 6.8.3 滚动块的位置 80 6.8.4 滚动条的消息 80 6.8.5 滚动工作区 81 6.9 CWnd与句柄 81 6.10 窗口文本 82 第7章 对话框 83 7.1 基础知识 83 7.1.1 对话框与一般窗口的区别 83 7.1.2 必备的OK、Cancel键 85 7.1.3 控件 86 7.1.4 控件的通知消息 86 7.2 编辑器与列表框的字符串交换 87 7.2.1 创建项目 87 7.2.2 对话框资源编辑器 88 7.2.3 设计对话框的外观 90 7.2.4 响应各种事件 92 7.2.5 运行的细节 97 7.3 消息框 100 7.4 多页对话框 103 7.4.1 多页对话框的原理 103 7.4.2 创建多页对话框的程序 103 7.4.3 CPropertySheet的构造函数 104 7.4.4 CPropertySheet的成员函数 104 7.4.5 CPropertyPage的构造函数 105 7.4.6 CPropertyPage的成员函数 105 7.4.7 CPropertyPage可以覆盖的成员函数 105 7.4.8 示例程序 106 7.5 通用对话框 108 7.5.1 文件对话框 109 7.5.2 颜色对话框 113 7.5.3 其他的通用对话框 114 第8章 键盘、鼠标与时间 115 8.1 消息与输入焦点 115 8.1.1 改变输入焦点 115 8.1.2 与输入焦点有关的消息 116 8.2 键盘的消息 116 8.2.1 ASCII码、虚拟键码与扫描码 117 8.2.2 消息 117 8.3 鼠标 119 8.3.1 鼠标消息 119 8.3.2 更换鼠标的光标 121 8.3.3 显示等待光标 122 8.3.4 获取鼠标的控制权 123 8.4 特殊的状况 124 8.4.1 在中文窗口下的文本输入 124 8.4.2 Windows的功能键 125 8.5 示例:模拟打字程序 126 8.5.1 获取消息 126 8.5.2 文本光标 127 8.5.3 鼠标光标 128 8.5.4 显示输入的字符 129 8.6 计时器消息与时间 133 8.7 设计鼠标光标 134 8.7.1 绘制手掌型光标 134 8.7.2 光标的热点 135 8.7.3 更换鼠标光标 135 第9章 菜单、工具栏与快捷键 136 9.1 菜单 136 9.1.1 命令消息 137 9.1.2 使用菜单 140 9.1.3 系统菜单 140 9.1.4 弹出式菜单 141 9.1.5 CMenu的成员函数 142 9.1.6 示例 147 9.2 快捷键 151 9.2.1 快捷键的工作方式 151 9.2.2 编辑快捷键表资源 152 9.2.3 示例 153 9.3 工具栏与状态栏 154 9.3.1 创建工具栏 155 9.3.2 编辑工具栏资源 157 9.3.3 创建状态栏 158 9.3.4 在状态栏显示时间 159 9.3.5 工具栏与状态栏的开关 159 9.3.6 状态栏与Tooltip中的帮助说明文字 160 第10章 文档、视图与框架窗口 163 10.1 “文档/视图”模型 163 10.1.1 文档与视图(Document/View) 163 10.1.2 单文档界面与多文档界面 164 10.2 文档、视图与框架窗口间的关系 166 10.2.1 一个标准的SDI示例 166 10.2.2 编辑字符串表(String Table) 170 10.3 CDocument类 175 10.3.1 View的管理 175 10.3.2 创建或打开文档 176 10.3.3 保存文件 177 10.3.4 关闭文件 178 10.3.5 Serialize 178 10.3.6 应该被重载的函数 182 10.3.7 其他成员 183 10.4 CView类 183 10.5 CScrollView类 184 10.5.1 CScrollView的工作原理 184 10.5.2 CScrollView的成员函数 184 10.6 SDI框架窗口CFrameWnd 186 10.6.1 重要的成员函数 186 10.6.2 菜单的自动enable / disable 187 10.7 示例:拉线绘图 187 10.7.1 CList 187 10.7.2 鼠标的操作 188 10.7.3 Serialize 188 10.7.4 更换鼠标光标 189 10.7.5 其他细节 189 10.7.6 改用CScrollView 197 10.8 MDI 198 10.8.1 一个标准的MDI示例 198 10.8.2 排列MDI子窗口 203 10.8.3 管理MDI子窗口 203 10.8.4 CMDIFrameWnd的自动功能 204 10.8.5 Window选项 204 10.8.6 最近使用的文档MRU 204 10.8.7 与MDI有关的消息 205 10.9 MDI化的LineArt 206 10.10 多视图类的MDI 213 10.11 拆分式窗口(Splitter Window) 221 10.11.1 包含“动态拆分窗口”的SDI标准示例 222 10.11.2 包含“静态拆分窗口”的SDI示例 225 10.12 更多不同的View类 232 10.12.1 另一类对话框CFormView 232 10.12.2 可以直接编辑文字的CEditView 233 第11章 文档视图模式与MFC Application Wizard 239 11.1 SDI项目 239 11.1.1 使用MFC Application Wizard创建项目 239 11.1.2 新项目中有哪些类 241 11.1.3 用ClassWizard重做SDI版的LineArt 241 11.2 MDI项目 247 11.2.1 使用MFC Application Wizard创建MDI项目 247 11.2.2 新项目中有哪些类 248 第12章 控件 249 12.1 静态类 249 12.1.1 CStatic::Create() 250 12.1.2 样式 250 12.1.3 成员函数 251 12.1.4 CStatic的通知消息 252 12.2 按钮 252 12.2.1 CButton::Create() 252 12.2.2 样式 252 12.2.3 成员函数 255 12.2.4 通知消息 256 12.2.5 示例:计算器 257 12.3 滚动条CScrollBar 268 12.3.1 CScrollBar::Create() 268 12.3.2 样式 269 12.3.3 成员函数 269 12.3.4 通知消息 270 12.3.5 示例:多线程动画 272 12.4 列表框 279 12.4.1 样式 279 12.4.2 成员函数 281 12.4.3 通知消息 284 12.5 编辑控件 284 12.5.1 样式 284 12.5.2 成员函数 285 12.5.3 通知消息 287 12.6 组合框 287 12.6.1 样式 288 12.6.2 成员函数 289 12.6.3 通知消息 292 12.7 数据交换与校验 292 12.7.1 简单的示例 293 12.7.2 常见的DDX函数 296 12.7.3 常见的DDV校验函数 298 12.7.4 在资源编辑器中添加 DDX/DDV选项 298 第13章 设备上下文与基本绘图工具 300 13.1 概述 300 13.2 设备上下文类CDC 300 13.2.1 创建与删除CDC对象 300 13.2.2 CDC的内置资源对象 302 13.2.3 查询DC的相关信息 303 13.2.4 CDC的其他成员函数 305 13.3 CWindowDC与CClientDC 305 13.3.1 CWindowDC的构造函数 306 13.3.2 CClientDC的构造函数 306 13.4 画笔与画刷 306 13.4.1 画笔 306 13.4.2 画刷 308 13.5 基本绘图函数 309 13.5.1 点 309 13.5.2 线 309 13.5.3 弧线 310 13.5.4 椭圆 311 13.5.5 矩形 311 13.5.6 饼图 311 13.5.7 多边形 312 13.5.8 其他 312 13.6 色彩与调色板 313 13.6.1 显卡的概念 313 13.6.2 256色模式 313 13.6.3 32K,64K及16M色模式 314 13.6.4 逻辑调色板和硬件调色板 314 13.6.5 常用来表示“颜色”的结构与宏 315 13.7 使用调色板 317 13.7.1 创建调色板对象 317 13.7.2 将调色板对象指派给DC 317 13.7.3 “实现”(Realize)调色板 317 13.7.4 画图 318 13.7.5 响应系统消息 318 13.7.6 调色板的其他成员函数 319 13.8 字体与文本输出 319 13.8.1 基本知识 319 13.8.2 如何描述“字体” 320 13.8.3 CFont类 323 13.8.4 多样的文本输出方式 324 13.8.5 文本输出的格式与属性 328 13.9 示例:时钟 331 第14章 位图 337 14.1 简介 337 14.1.1 设备独立位图(DIB) 337 14.1.2 设备相关位图(DDB) 338 14.2 CBitmap类 339 14.2.1 创建DDB 339 14.2.2 CBitmap成员函数 339 14.2.3 与DDB有关的函数 340 14.3 设备无关位图类(DIB) 341 14.3.1 DIB的结构 341 14.3.2 BITMAPFILEHEADER 342 14.3.3 BITMAPINFO 342 14.3.4 BITMAPINFOHEADER 342 14.3.5 RGBQUAD 343 14.3.6 BMP文件的格式 344 14.3.7 Win32 API与DIB有关的函数 344 14.3.8 DIB与DDB的转换 345 14.4 处理DIB的示例 345 14.4.1 自己设计CDib类 346 14.4.2 主程序 357 第15章 打印与坐标系 369 15.1 打印 369 15.1.1 设置打印机的状态 369 15.1.2 通过CView打印 370 15.1.3 示例 374 15.2 比例、原点与方向 376 15.2.1 改变映射模式 377 15.2.2 理想与现实 377 15.2.3 示例 378 15.3 更大的灵活性 381 15.4 打印预览 383 第16章 通用控件 384 16.1 概述 384 16.1.1 通用控件的种类 384 16.1.2 使用通用控件前的初始化 386 16.1.3 通用控件的共性 386 16.1.4 通用控件的通知消息 387 16.1.5 通用控件都会产生的通知消息 388 16.2 CSliderCtrl 388 16.2.1 CSliderCtrl的样式 388 16.2.2 CSliderCtrl成员函数 389 16.2.3 CSliderCtrl的通知消息 390 16.3 CSpinButtonCtrl 391 16.3.1 CSpinButtonCtrl的样式 391 16.3.2 CSpinButtonCtrl的用法 391 16.3.3 CSpinButtonCtrl的其他成员函数 392 16.3.4 CSpinButtonCtrl的通知消息 392 16.4 CHeaderCtrl 392 16.4.1 CHeaderCtrl的样式 392 16.4.2 使用CHeaderCtrl 393 16.4.3 其他的成员函数 394 16.4.4 CHeaderCtrl的通知消息 395 16.5 CAnimateCtrl 395 16.5.1 CAnimateCtrl的样式 395 16.5.2 CAnimateCtrl的成员函数 395 16.5.3 CAnimateCtrl的通知消息 396 16.5.4 示例 396 16.6 CProgressCtrl 398 16.6.1 CProgressCtrl的用法 398 16.6.2 示例 398 16.7 CTreeCtrl、CTreeView与CImageList 398 16.7.1 使用CImageList 399 16.7.2 CTreeCtrl的样式 400 16.7.3 CTreeCtrl的用法 400 16.7.4 其他的成员函数 402 16.7.5 CTreeCtrl的通知消息 405 16.7.6 CTreeView 406 16.7.7 示例:显示磁盘的树状目录 406 16.8 CListCtrl与CListView 416 16.8.1 CListCtrl的样式 417 16.8.2 CListCtrl的用法 418 16.8.3 CListCtrl的成员函数 421 16.8.4 CListCtrl的通知消息 424 16.8.5 CListView 425 16.8.6 示例:显示目录中的文件列表 426 16.9 示例:程序管理器 435 16.10 CIPAddressCtrl 438 16.10.1 成员函数 438 16.10.2 通知消息 439 第17章 使用ActiveX控件 440 17.1 ActiveX控件的由来 440 17.2 使用ActiveX控件 441 17.2.1 安装ActiveX控件 442 17.2.2 MCI32.OCX简介 443 17.3 设计ActiveX容器 443 17.3.1 启动ActiveX 443 17.3.2 插入ActiveX控件 444 17.3.3 在对话框中使用MCI控件 445 17.3.4 在程序中控制MCI控件 446 第18章 进程、线程与内存 448 18.1 Win32的内存管理 448 18.2 Process简介 452 18.2.1 产生子进程 453 18.2.2 与process有关的信息 456 18.2.3 结束process 457 18.3 Thread简介 457 18.3.1 产生Child Thread 458 18.3.2 Thread的信息 458 18.3.3 终止Thread 458 18.4 同步(Synchronization ) 458 18.4.1 Critical Section 460 18.4.2 等待对象的状态改变 463 18.4.3 Mutex 464 18.4.4 Event 466 18.5 进程间通信(IPC) 469 18.6 CWinThread 472 18.6.1 GUI Thread与非GUI Thread 472 18.6.2 利用CWinThread产生Thread的流程 472 18.6.3 其他的CWinThread成员 473 第19章 Profile与Registry 474 19.1 什么是Profile 474 19.2 什么是Registry 475 19.2.1 创建新的key 476 19.2.2 打开已存在的entry 477 19.2.3 写入数据 477 19.2.4 读取数据 478 19.2.5 删除key或entry 478 19.2.6 关闭Key 479 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。