欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Visual C++ 2017从入门到精通 朱晨冰 著 2019年版

收藏
  • 大小:479 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Visual C++ 2017从入门到精通
作者: 朱晨冰 著
出版时间:2019年版
内容简介
《Visual C++ 2017从入门到精通》从初学者的角度出发,以通俗易懂的语言,配合丰富多彩的实例,详细介绍使用Visual C++ 2017(简称VC++ 2017)进行程序开发应该掌握的各方面知识。全书共分10章,包括Visual C++ 2017概述,Windows编程基础,MFC对话框程序设计,MFC控件程序设计,菜单、工具栏和状态栏的开发使用,图形和图像,动态链接库,多线程编程,数据库编程,网络Socket编程。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Visual C++ 2017程序开发的精髓,快速提高开发技能。 本书适合作为软件开发入门者的自学用书,可供开发人员查阅、参考,也适合作为高等院校相关专业的教学参考书 。
目录
第1章VisualC++2017概述 1
1.1VisualC++2017简介 1
1.2安装VisualC++2017及其帮助 2
1.3认识VisualC++2017集成开发环境 2
1.3.1起始页 2
1.3.2主界面 3
1.3.3标题栏 4
1.3.4菜单栏 4
1.3.5工具栏 4
1.3.6类视图 6
1.3.7解决方案资源管理器 6
1.3.8输出窗口 6
1.3.9错误列表 6
1.3.10设置源码编辑窗口的颜色 7
1.3.11显示行号 7 [2]
第2章Windows编程基础 8
2.1开发Windows程序的3种方式 8
2.1.1SDK方式 8
2.1.2MFC方式 11
2.1.3托管方式 17
2.2字符集 21
2.2.1计算机上的3种字符集 21
2.2.2Unicode编码的实现 25
2.2.3C运行时库对Unicode的支持 29
2.2.4C++标准库对Unicode的支持 31
2.2.5WindowsAPI对Unicode的支持 31
2.2.6VisualC++2017开发环境对Unicode的支持 31
2.2.7字符集相关范例 33
2.3SDK编程基础 36
2.3.1消息的定义 36
2.3.2预定义消息 38
2.3.3自定义消息 41
2.3.4消息和事件 42
2.3.5消息和窗口 42
2.3.6工程目录结构 51
2.3.7调试初步 52
2.3.8Win32控件编程 53 [2]
2.3.9Win32对话框编程 91
2.4MFC编程基础 105
2.4.1MFC类库概述 105
2.4.2MFC应用程序类型 108
2.4.3添加菜单 110
2.4.4窗口客户区 112
2.5键盘 115
2.5.1键盘概述 115
2.5.2键盘消息 116
2.6鼠标 125
2.6.1鼠标概述 125
2.6.2鼠标消息 125
2.7字符串 132
2.7.1几个字符串类型 132 [2]
2.7.2Win32API中的字符串 134
2.7.3MFC中的字符串 135
2.8控制台编程 141
2.9内存管理 144
2.10文件操作 146
2.10.1Win32API操作文件 146
2.10.2MFC类操作文件 149
2.11MFC的异常处理 156
2.12调试输出 158
2.12.1调试程序常用快捷键 158
2.12.2利用Win32API进行调试输出 158
2.12.3在MFC程序调试输出 159
2.12.4可视化查看变量的值 159 [2]
第3章MFC对话框程序设计 160
3.1对话框程序设计概述 160
3.2建立一个简单的对话框程序 161
3.3设置对话框的属性 162
3.3.1打开对话框资源的属性视图 163
3.3.2设置对话框的边框 165
3.3.3设置对话框的标题 165
3.3.4设置对话框运行后所处的坐标 165
3.3.5设置对话框的大小 165
3.3.6设置对话框的字体 165
3.3.7设置对话框的最大化和最小化按钮 166
3.4在对话框上使用按钮控件 166
3.4.1显示工具箱 166
3.4.2一次在对话框上放置一个按钮 166 [2]
3.4.3一次在对话框上放置多个按钮 167
3.4.4选中按钮控件 167
3.4.5移动对话框上的按钮控件 168
3.4.6对齐对话框上的按钮控件 168
3.4.7调整按钮控件的大小 168
3.4.8删除对话框上的按钮控件 168
3.4.9为按钮添加变量 168
3.4.10为按钮控件添加事件处理程序 170
3.5显示消息对话框 171
3.5.1MessageBox的常见应用 171
3.5.2AfxMessageBox的常见应用 173
3.6对话框的窗口消息 175
3.6.1为对话框添加消息处理函数 176
3.6.2为对话框添加自定义消息 178
3.7模态对话框和非模态对话框 180 [2]
3.8通用对话框 184
3.8.1文件对话框的使用 184
3.8.2字体对话框的使用 188
3.8.3颜色对话框的使用 192
3.8.4浏览文件夹对话框的使用 193
3.8.5查找/替换对话框的使用 195
3.8.6打印对话框的使用 200
3.9对话框的高级话题 203
3.9.1在对话框非标题栏区域实现拖动 203
3.9.2在对话框上显示状态栏 204
3.9.3在对话框状态栏上显示菜单提示 206
3.9.4对话框上显示带下拉菜单的工具栏 207
3.9.5创建一个向导式对话框 212 [2]
3.9.6为对话框添加BMP图片作为背景 215
3.9.7动画的方式显示对话框 216
3.9.8替换对话框的最小化和关闭按钮 218
3.9.9为对话框添加PNG图片作为背景 221
3.9.10为PNG背景的对话框添加控件 223
3.9.11使对话框大小可调整 225
3.9.12限制对话框最大化时对话框的大小 225
3.9.13显示或隐藏对话框窗口标题栏 226
3.9.14带启动文字界面的对话框程序 226
3.9.15让带图像的对话框渐进渐出 228
3.9.16对话框上实现3D文字 231
3.9.17对话框程序向另一个对话框发送消息 231
3.9.18枚举当前所有打开的窗口 232
3.9.19在动态链接库dll中调用对话框 233
3.9.20改变对话框的默认背景色 235 [2]
第4章MFC控件程序设计 237
4.1控件概述 237
4.2按钮控件 237
4.2.1设置按钮的标题 238
4.2.2制作图片按钮 239
4.2.3实现一个三角形按钮 240
4.2.4实现类似VisualC++属性表中的钉子按钮 240
4.2.5实现具有不同状态的图片按钮 242
4.2.6为按钮动态加载的4幅状态图 247
4.2.7反映3种不同状态的图片按钮 250
4.2.8实现一个不自动弹起的按钮 256
4.2.93种选中radiobutton的方法 259 [2]
4.2.10利用CXPButton实现图片按钮 262
4.2.11CButtonST类的基本使用 262
4.2.12CButtonST类的高级使用 265
4.2.13实现CButtonST类的透明效果 267
4.2.14CButtonST类的阴影效果 270
4.2.15同一程序内模拟按钮事件 272
4.2.16不同的程序间发送消息给对方按钮 274
4.2.17实现按钮凹下和弹起效果 276
4.2.18在非客户区上实现按钮 277
4.2.19鼠标移过按钮时发出声音 279
4.2.20实现一个类似网址形式的链接按钮 280
4.2.21通过自绘实现XP样式的按钮 281
4.2.22鼠标停留背景改变的按钮 282
4.2.23实现圆形按钮 282
4.2.24更完美的XP样式按钮 282 [2]
4.2.25一个圆形的图片按钮 283
4.2.26又一个XP风格按钮的实现 285
4.2.27实现头像选择按钮 285
4.3编辑控件 286
4.3.1编辑控件的常用属性 288
4.3.2设置和获取编辑框内容 289
4.3.3设置和获取密码框 290
4.3.4设置CEdit控件的字体颜色 291
4.3.5自定义编辑控件的上下文菜单 292
4.3.6代码方式实现内容全选 294
4.3.7用位图更换编辑框的背景 294
4.3.8实现一个简单的记事本 296
4.3.9实现可设断点的多文档程序 297
4.3.10日期格式化输入的编辑框 299
4.3.11实现联想输入的编辑框 300
4.3.12在编辑框中加载位图 301
4.3.13在Rich编辑框中实现末尾和当前位置插入文本 302 [2]
4.3.14在编辑框末尾追加文本 304
4.3.15让编辑框支持自动换行 305
4.3.16让滚动条随着设置的内容滚动到最后一行 305
4.3.17让编辑框一直滚屏 306
4.4列表框控件 307
4.4.1向列表框中插入和获取数据 309
4.4.2向列表框指定位置插入数据 311
4.4.3实现一个支持复选框的列表框 312
4.4.4让列表框支持多选 314
4.4.5让列表框出现水平滚动条 314
4.4.6为列表框替换背景图片 315
4.4.7列表框自动选中最后一行 318
4.5列表控件 319
4.5.1添加和获取、删除数据项 321 [2]
4.5.2图标方式显示列表控件内的项目 325
4.5.3为列表控件增加背景图片 325
4.5.4可设置单元格颜色的CListCtrl类 326
4.5.5在列表框中实现列表项目的上下移动 327
4.5.6对列表控件列头的字体、颜色、背景进行更改 330
4.5.7让列表控件的主项可以编辑 336
4.5.8使列表控件支持子项可编辑 337
4.5.9使列表控件呈现网格 338
4.5.10让列表视图的表头无法改变大小 338
4.5.11让列表控件可以修改行、列和单元格颜色 341
4.5.12在dll中设置外部列表控件 344 [2]
4.6标签控件 345
4.6.1标签控件的基本使用 346
4.6.2带图标的标签控件 349
4.7静态文本控件 350
4.7.1设置和获取静态文本控件的内容 351
4.7.2让静态文本控件显示不同风格的字体 352
4.7.3实现边框为3D样式的静态框 356
4.7.4用空格键操作超级链接静态控件访问网址 357
4.7.5用静态控件实现电子式时钟 358
4.7.6一个功能强大的静态控件类 360
4.7.7静态控件实现电子8段管仿真程序 361 [2]
4.7.8用静态框实现项目和颜色列表功能 362
4.7.9设置静态文本控件的文本颜色 364
4.7.10让静态文本控件响应单击 365
4.8组合框 366
4.8.1组合框的基本使用 368
4.8.2组合框实现联想输入 370
4.8.3实现一个颜色组合框 371
4.8.4支持自动完成的扁平组合框 372
4.8.5自定义组合框背景 372
4.8.6带图标的组合框 373
4.9进度条 374
4.9.1进度条的基本使用 374 [2]
4.9.2实现一个位图进度条 376
4.9.3实现一个带文字指示的进度条 377
4.9.4在状态栏中实现进度条显示 378
4.10图像列表控件 379
4.11树形控件 384
4.11.1树形控件的基本使用 386
4.11.2判断某节点的复选框是否打勾 387
4.11.3某节点的复选框打勾的时候,其儿子节点也打勾 388
4.11.4隐藏某些节点的复选框 389
4.11.5修改某节点字体和颜色 390
4.11.6通过代码选中某个节点 391
4.11.7判断某节点是否展开 392 [2]
4.11.8判断某节点是否处于选中状态 393
4.11.9判断是否单击了复选框 393
4.11.10使节点标题可以编辑 394
4.11.11使节点可以编辑,并且限制标题长度 395
4.11.12通过代码的方式使树形控件具有EditLabel风格 396
4.11.13编辑节点Label的时候支持回车键和Esc键 397
4.11.14通过代码取消选中某个节点 398
4.11.15让树形控件出现ToolTips 400
4.11.16某节点的checkbox打勾的时候,其所有的子孙节点也打勾 400 [2]
4.11.17加载图标文件方式为树形控件加入图标 402
4.11.18把磁盘某目录下的内容添加到树形控件中 403
4.11.19通过代码展开某个含有子节点的父节点 404
4.11.20实现类似Delphi的属性列表功能 405
4.11.21对树形控件中的节点进行拖动 406 [2]
4.11.22设置树形控件字体颜色 407
4.11.23通过加载位图文件让树形控件的节点带有图标 407
4.11.24添加数据库里的内容到树形控件节点 408
4.11.25实现类似QQ游戏大厅导航的树形控件 412
4.11.26通过树形控件节点来显示不同的子对话框 415
4.11.27树形控件和文档类程序的联合作战 417
4.11.28一个简单的Windows资源管理器的界面 419
4.11.29递归添加磁盘上的任一目录 422 [2]
4.11.30支持编辑框的方式插入节点 423
4.11.31节点检查框的隐藏和显示 427
4.11.32实现一个三态树 429
4.11.33把位图作为树形控件的背景 431
4.12滑块控件 432
4.12.1滑块控件的基本使用 433
4.12.2让位图作为滑块控件的背景 434
4.13调节控件 437
4.13.1调节控件的基本使用 437 [2]
4.13.2用调节控件调节小数 439
4.14滚动条控件 440
4.14.1滚动条控件基本使用 441
4.14.2区分多个滚动条 443
4.15IPAddress控件 445
4.15.1IPAddress控件的基本使用 445
4.15.2获取和设置IP地址的另一种用法 447 [2]
4.15.3在IP控件中显示本机地址 448
4.16日期时间拾取控件 449
4.16.1日期时间拾取控件的基本使用 450
4.16.2设置日期时间拾取控件的选择范围 452
4.16.3设置日期时间拾取控件的显示格式 453
4.17月历控件 454 [2]
4.17.1月历控件的基本使用 455
4.17.2月历控件的其他使用 456
4.18动画控件 458
4.19热键控件 460
4.20Custom控件 462
4.20.1让Custom控件关联已有控件 462
4.20.2把Custom控件设置为一个自定义类 463
4.20.3实现一个能自绘的Custom控件 464 [2]
4.21Picture控件 466
4.21.1Picture控件静态显示图片 466
4.21.2Picture控件动态显示图片 466
4.22Syslink控件 468
4.23CommandButton控件 470
4.24NetworkAddress控件 471 [2]
4.25SplitButton控件 473
4.26MFC新控件 474
4.26.1MFCButton控件 474
4.26.2MFCColorButton控件 477
4.26.3MFCEditBrowse控件 478
4.26.4MFCVSListBox控件 479 [2]
4.26.5MFCFontComboBox控件 480
4.26.6MFCMaskedEdit控件 481
4.26.7MFCMenuButton控件 483
4.26.8MFCPropertyGrid控件 485
4.26.9MFCShellList控件和MFCShellTree控件 490
4.26.10MFCLink控件 492
4.27动态创建控件 492
4.27.1在对话框上动态创建CMFCListCtrl控件和CStatic控件 492
4.27.2在视图上动态创建控件 494 [2]
第5章菜单、工具栏和状态栏的开发使用 498
5.1菜单的设计与开发 498
5.1.1添加菜单项并添加消息 499
5.1.2为菜单添加快捷键 500
5.1.3设置菜单的状态来标记任务栏是否隐藏 501
5.1.4绘制漂亮的快捷菜单 502
5.1.5向记事本程序发送菜单信息 504 [2]
5.1.6动态生成菜单 506
5.1.7实现动态菜单的状态栏提示 508
5.1.8代码方式为对话框加载菜单 509
5.1.9自定义类CMenuEx的简单使用 510
5.1.10通过类CMenuEx给菜单增加背景色和左边位图 510
5.1.11实现中英文菜单的动态切换 512
5.1.12修改并增加系统菜单项 514 [2]
5.2工具栏的设计与开发 516
5.2.1显示或隐藏工具栏 517
5.2.2设置工具栏标题 517
5.2.3显示或隐藏工具栏上所有按钮 518
5.2.4在视图类中判断工具栏是否处于浮动状态 518
5.2.5资源法创建工具栏 519
5.2.6非资源法创建工具栏 520 [2]
5.2.7使工具栏具有任意停靠和漂浮功能 521
5.2.8通过菜单出现工具栏提示 521
5.2.9通过字符串表出现工具栏提示 522
5.2.10工具栏上放置组合框 523
5.2.11让工具栏不出现提示 524
5.2.12让工具栏按钮出现提示 524 [2]
5.2.13使工具栏按钮出现下拉箭头 525
5.2.14使工具栏按钮失效和生效 526
5.2.15使工具栏按钮保持下压状态 527
5.2.16使工具栏在任意一边停靠 527
5.2.17通过工具栏指针动态为工具栏按钮保存一段文本 528 [2]
5.2.18设置工具栏按钮的大小 529
5.2.19在工具栏按钮下方显示文本 529
5.2.20动态修改工具栏按钮的显示文本 530
5.2.21在工具栏上显示字体组合框 531
5.2.22工具栏上出现对话框 533 [2]
5.3状态栏的设计与开发 534
5.3.1在单文档程序的状态栏上显示自定义字符串 534
5.3.2在状态栏已有窗格上动态显示字符串 535
5.3.3在状态栏新的窗格上动态显示自定义字符串 536
5.3.4在状态栏上显示图片 537 [2]
5.3.5在状态栏上显示按钮 538
5.3.6显示或隐藏状态栏 539
5.3.7通过自定义字符串资源在状态栏中新增窗格 540
5.3.8通过使用预定义ID在状态栏中新增窗格 541 [2]
第6章图形和图像 542
6.1Windows图形编程的几个重要概念 542
6.1.1图形输出设备 542
6.1.2GDI的概念 542
6.1.3GDI对象的概念 543
6.1.4设备描述表 543 [2]
6.2Win32图形编程 544
6.2.1点的坐标POINT 544
6.2.2矩形尺寸SIZE 544
6.2.3矩形坐标RECT 545
6.2.4更新区域、WM_PAINT和WM_ERASEBKGND消息 546 [2]
6.2.5设备描述表的获取和释放 550
6.2.6设备描述表的属性 554
6.3设备坐标系 557
6.4逻辑坐标和映射模式 559
6.4.1映射模式 560 [2]
6.4.2原点的坐标 562
6.4.3视口范围和窗口范围 564
6.5Win32中的GDI对象 571
6.5.1画笔 572
6.5.2画刷 575
6.5.3字体 577 [2]
6.5.4GDI位图 581
6.5.5区域 590
6.5.6调色板 596
6.6路径 598
6.7裁剪 599 [2]
6.8更新区域 601
6.9双缓冲绘图 604
6.10颜色 607
6.10.1颜色的表示 607
6.10.2窗口背景色 609
6.10.3文本背景色 610 [2]
6.10.4文本前景色 611
6.11背景模式 611
6.12绘图模式 612
6.13MFC图形编程 614
6.13.1点的坐标CPoint 614 [2]
6.13.2矩形尺寸CSize 615
6.13.3矩形坐标CRect 616
6.13.4设备描述表的获取和释放 618
6.13.5设备描述表的属性 621
6.13.6在对话框上画点和线 622 [2]
6.13.7 在单文档视图上画填充图形 625
6.13.8 OnDraw和OnPaint的关系 627 [2]
6.14 MFC中的GDI对象 628
6.14.1 画笔 629
6.14.2 画刷 630 [2]
6.14.3 GDI位图 630
6.14.4 字体 631 [2]
6.14.5 区域 632
6.14.6 调色板 633 [2]
第7章 动态链接库 635
7.1 动态链接库的定义 635 [2]
7.2 使用动态链接库的好处 636
7.3 动态链接库的分类 636 [2]
7.4 Win32 DLL的开发 636
7.4.1 在DLL中导出全局函数 636 [2]
7.4.2 C++语言使用DLL 639
7.4.3 DllMain函数 644 [2]
7.4.4 在DLL中导出变量 646
7.4.5 在DLL中导出类 650 [2]
7.4.6 其他语言调用DLL 653 [2]
7.5 MFC下DLL的开发 659 [2]
第8章 多线程编程 664 [2]
8.1 多线程编程的基本概念 664 [2]
8.1.1 为何要用多线程 664 [2]
8.1.2 操作系统和多线程 664 [2]
8.1.3 进程和线程 664 [2]
8.1.4 线程调度 666 [2]
8.1.5 线程函数 668 [2]
8.1.6 线程对象和句柄 668 [2]
8.1.7 线程对象的安全属性 669 [2]
8.1.8 线程标识 669 [2]
8.1.9 多线程编程的3种库 669 [2]
8.2 利用Win32 API函数进行多线程开发 670 [2]
8.2.1 线程的创建 670 [2]
8.2.2 线程的结束 674 [2]
8.2.3 线程和MFC控件交互 679 [2]
8.2.4 线程的暂停和恢复 684 [2]
8.2.5 消息线程和窗口线程 687 [2]
8.2.6 线程同步 689 [2]
8.3 CRT库中的多线程函数 701 [2]
8.4 MFC多线程开发 707 [2]
8.4.1 线程的创建 708
下载地址