图书目录

目  录

第1篇  编程基础

第1章  开发环境 2

1.1  工程创建 3

?实例001  如何创建基于对话框的MFC工程 3

实例002  如何创建基于文档视图的MFC工程 5

实例003  打开已存在的工程 8

实例004  如何查找工程中的信息 9

实例005  如何在添加对话框资源时创建

对话框类 10

实例006  在工作区中管理多个工程 11

实例007  创建MFC ActiveX工程 12

实例008  创建ATL工程 14

实例009  创建控制台应用程序 14

1.2  开发环境的设置与使用 15

?实例010  如何定制自己的工具栏 15

实例011  在Visual C++项目中使用自定义资源 17

实例012  向Visual C++开发环境中添加插件 18

实例013  添加消息处理函数 19

?实例014  设置开发环境文本颜色 20

实例015  设置批量注释 21

?实例016  如何对齐零乱的代码 23

实例017  判断代码中的括号是否匹配 24

实例018  修改可执行文件中的资源 25

1.3  程序调试 26

实例019  创建调试程序 26

实例020  在Release版本中进行调试 27

实例021  在Visual C++中如何进行远程调试 28

实例022  利用简单断点进行程序调试 28

实例023  利用条件断点进行程序调试 29

实例024  利用数据断点进行程序调试 30

实例025  利用消息断点进行程序调试 32

实例026  利用Watch窗口查看对象信息 32

实例027  利用Call Stack窗口查看函数调用

信息 33

实例028  利用Memory窗口查看内存信息 34

实例029  利用Variables窗口查看变量信息 36

实例030  利用Registers窗口查看CPU寄存器

信息 37

实例031  利用Disassembly窗口查看汇编信息 37

第2章  语言基础 39

2.1  基本语法 40

?实例032  输出问候语 40

?实例033  输出带边框的问候语 40

实例034  不同类型数据的输出 41

?实例035  输出字符表情 43

?实例036  获取用户输入的用户名 44

2.2  运算符的妙用 45

实例037  简单的字符加密 45

实例038  实现两个变量的互换 46

实例039  判断性别 48

实例040  用宏定义实现值互换 49

实例041  简单的位运算 50

实例042  整数加减法练习 52

2.3  条件语句 53

实例043  李白喝酒问题 53

实例044  桃园三结义 54

实例045  何年是闰年 56

实例046  小球称重 57

实例047  购物街中的商品价格竞猜 58

实例048  促销商品的折扣计算 60

实例049  利用switch语句输出倒三角形 62

2.4  循环语句 63

实例050  PK少年高斯 63

实例051  灯塔数量 64

实例052  上帝创世的秘密 65

实例053  小球下落 67

实例054  再现乘法口诀表 68

实例055  判断名次 69

2.5  循环的数学应用 70

实例056  序列求和 70

实例057  简单的级数运算 71

实例058  求一个正整数的所有因子 72

实例059  一元钱兑换方案 73

2.6  趣味计算 74

实例060  加油站加油 74

实例061  买苹果问题 76

实例062  猴子吃桃 77

实例063  老师分糖果 78

实例064  新同学的年龄 79

实例065  百钱买百鸡问题 80

实例066  彩球问题 81

实例067  集邮册中的邮票数量 82

2.7  多重循环打印图形 83

实例068  用“#”打印三角形 83

实例069  用“*”打印图形 85

实例070  绘制余弦曲线 86

实例071  打印杨辉三角 87

2.8  算法 88

实例072  计算某日是该年第几天 88

实例073  斐波那契数列 90

实例074  角谷猜想 91

实例075  哥德巴赫猜想 92

实例076  四方定理 93

实例077  尼科彻斯定理 94

实例078  魔术师的秘密 95

第3章  数据结构 97

3.1  结构体 98

实例079  结构体类型的定义 98

实例080  结构体变量的初始化 99

实例081  如何使用嵌套结构 100

实例082  将结构作为参数传递并返回 101

实例083  共用体数据类型的定义 102

实例084  共用体变量的初始化 103

实例085  如何使用匿名共用体 104

实例086  枚举类型的定义与使用 105

实例087  用new动态创建结构体 106

实例088  使用结构体标识操作员名称、

密码和级别 107

实例089  创建包括12个月份的枚举类型 109

实例090  带有函数的结构体 109

3.2  指针、地址与引用 111

?实例091  使用指针自增操作输出数组元素 111

?实例092  利用指针表达式操作遍历数组 112

?实例093  数组地址的表示方法 113

?实例094  指针和数组的常用方法 114

实例095  结构指针遍历结构数组 115

实例096  指针作为函数的参数 116

实例097  多维数组的指针参数 117

实例098  指针作为函数的返回值 118

实例099  使用函数指针制作菜单管理器 119

实例100  使用指针实现数据交换 121

实例101  使用指针实现整数排序 122

实例102  指向结构体变量的指针 123

实例103  用指针实现逆序存放数组元素值 124

实例104  输出二维数组的有关值 125

实例105  输出二维数组任一行任一列值 126

实例106  使用指针查找数列中的最大值和最小值 127

实例107  用指针数组构造字符串数组 129

实例108  将若干字符串按照字母顺序输出 130

实例109  用指向函数的指针比较大小 131

实例110  用指针函数实现求学生成绩 132

实例111  使用指针的指针输出字符串 133

实例112  实现输入月份号输出该月份英文名 134

实例113  使用指向指针的指针对字符串排序 135

实例114  分解字符串中的单词 136

3.3  数组 138

实例115  向数组中赋值 138

实例116  遍历数组 139

实例117  求数组中元素的平均和 140

实例118  数组的排序 141

实例119  向数组中插入元素 142

实例120  数组的删除操作 144

实例121  数组冒泡排序法 145

实例122  顺序查找数组中指定的元素 146

实例123  有序数组折半查找 147

实例124  计算字符串中有多少个单词 149

实例125  获取数组中元素的个数 150

实例126  输出数组元素 151

实例127  将二维数组行列对换 152

实例128  将二维数组转换为一维数组 153

实例129  使用指针变量遍历二维数组 154

实例130  学生成绩排名 155

实例131  求矩阵对角线之和 156

实例132  反向输出字符串 157

实例133  使用数组保存学生姓名 158

实例134  数组中连续相等数的计数 158

实例135  两个数组元素的交换 159

实例136  二维数组每行的最大值 161

实例137  二维数组行和列的最小值 162

实例138  二维数组行最大值中的最小值 163

实例139  删除数组中重复的连续元素 164

实例140  删除有序数组中的重复元素 165

实例141  数组合并 166

实例142  利用数组计算平均成绩 167

实例143  数组中整数的判断 168

实例144  判断二维数组中是否有相同的元素 168

实例145  计算两个矩阵和 169

实例146  判断回文数 171

实例147  统计学生成绩分布 171

第4章  字符串和函数 173

4.1  字符串的截取与转换 174

?实例148  获取字符串中的汉字 174

?实例149  英文字符串首字母大写 175

?实例150  指定符号分割字符串 176

?实例151  在文本中删除指定的汉字或句子 177

实例152  替换指定的字符串 178

实例153  向字符串中添加子字符串 179

实例154  截取字符串中的数字 180

实例155  将选定字符转换成大写 181

实例156  将选定字符转换成小写 182

实例157  截取指定位置的字符串 183

4.2  字符串的比较与判断 184

实例158  获取指定位置字符的大小写 184

实例159  获取字符串中的英文子字符串 185

实例160  判断字符串中是否有中文 187

实例161  判断字符串是否可以转换成整数 188

实例162  判断字符串是否含有数字 189

实例163  判断字符串中是否有指定的字符 189

实例164  字符串比较 190

实例165  忽略大小写字符串比较 191

4.3  字符串技巧 192

实例166  字符串加密 192

实例167  字符串连接 193

实例168  给选中字符添加双引号 194

实例169  字符串反转 195

实例170  去除首尾多余空格 196

实例171  向编辑框中追加字符 197

4.4  字符串应用 198

实例172  将选定内容复制到剪贴板 198

实例173  在ListBox中查找字符串 199

实例174  统计编辑框中回车个数 200

实例175  在字符串数组中搜索 201

实例176  获取字符在字符串中出现的位置 202

实例177  获取字符在字符串中出现的次数 204

实例178  获取指定字符的起始位置 205

实例179  获取字符串内中、英文字符个数 206

4.5  字符串统计 207

实例180  统计中文个数 207

实例181  获取字符串中数字位置 208

实例182  获取字符在字符串中最后出现的

位置 209

实例183  获取大写字符的位置 210

实例184  获取小写字符的位置 211

实例185  统计字符个数 212

4.6  函数 213

实例186  函数默认参数的使用 213

实例187  通过函数的重载实现不同数据

类型的操作 214

实例188  通过函数模板返回最小值 216

实例189  使用函数模板进行排序 217

实例190  统计学生成绩的最高分、最低分和

平均分 218

实例191  在指定目录下查找文件 220

实例192  列举系统盘符 222

实例193  遍历磁盘目录 223

实例194  按树结构输出区域信息 224

实例195  分解路径和名称 226

实例196  数值与字符串类型的转换 227

实例197  使用递归过程实现阶乘运算 228

实例198  随机获取姓名 229

实例199  判断指定月份属于哪个季节 231

实例200  判断闰年 232

实例201  将两个实型数据转换为字符串并连接 233

实例202  分解字符串中的单词 234

实例203  不使用库函数复制字符串 235

第5章  类和对象 236

5.1  类与对象的使用 237

?实例204  自定义图书类 237

?实例205  温度单位转换工具 238

实例206  编写同名的方法 239

实例207  构造方法的应用 240

?实例208  祖先的止痒药方 241

?实例209  统计图书的销售量 243

实例210  单例模式的应用 244

实例211  员工间的差异 245

实例212  重写父类中的方法 247

实例213  计算几何图形的面积 248

  

实例214  简单的汽车销售商场 249

实例215  利用拷贝构造函数简化实例创建 251

实例216  访问类中私有成员的函数 252

实例217  实现类的加法运算 253

实例218  在类中实现事件 254

实例219  命名空间的使用 255

实例220  模板的实现 257

实例221  const函数的使用 258

实例222  使用纯虚函数代替接口 259

实例223  定义嵌套类 260

实例224  策略模式的简单应用 261

实例225  适配器模式的简单应用 263

5.2  STL应用 264

实例226  vector模板类的应用 264

实例227  链表类模板的应用 266

实例228  通过指定的字符在集合中查找元素 267

实例229  对集合进行比较 268

实例230  应用adjacent_find算法搜索相邻的

重复元素 269

实例231  应用count算法计算相同元素的个数 270

实例232  应用random_shuffle算法将元素顺序

随机打乱 271

实例233  迭代器的用法 272

实例234  用向量改进内存的再分配 273

第2篇  界面设计

第6章  窗体界面 276

6.1  对话框的调用 277

实例235  模式对话框与非模式对话框的使用 277

实例236  API调用对话框资源 278

实例237  如何在主窗体框架显示前弹出登录框 281

实例238  在对话框中使用CDialogBar 282

6.2  常用的对话框 284

实例239  “查找/替换”对话框 284

实例240  “打开”对话框 286

实例241  可以显示图片预览的“打开”对话框 287

实例242  “另存为”对话框 290

实例243  新型打开对话框 291

6.3  对话框的显示 292

实例244  Animate动画显示窗体 292

实例245  百叶窗显示窗体 294

实例246  淡入淡出显示窗体 295

实例247  半透明显示窗体 296

实例248  制作立体窗口阴影效果 298

6.4  对话框的背景 299

?实例249  应用程序背景与桌面融合 299

?实例250  位图背景窗体 300

实例251  渐变色背景窗体 302

?实例252  随机更换背景的窗体 303

实例253  使用画刷绘制背景颜色 304

6.5  对话框的形状控制 305

?实例254  椭圆形窗体 305

实例255  圆角窗体 306

实例256  字形窗体 307

实例257  调用Office助手 309

实例258  鼠标跟随窗体 310

实例259  根据图片大小显示的窗体 312

6.6  对话框的位置控制 313

实例260  始终在最上面的窗体 313

实例261  如QQ般隐藏的窗体 314

实例262  晃动的窗体 315

实例263  磁性窗体 316

6.7  控制对话框的标题栏 318

实例264  闪烁标题栏的窗体 318

实例265  隐藏和显示标题栏 319

实例266  动态改变标题栏图标 320

6.8  对话框的大小控制 321

实例267  限制窗体的大小 321

实例268  控制窗体的最大化和最小化 322

实例269  限制对话框最大时的窗口大小 323

6.9  对话框的窗体消息响应及控制 324

实例270  关闭窗体前弹出确认对话框 324

实例271  让窗体的标题栏不响应鼠标双击

事件 325

实例272  无标题对话框的拖动方法 326

实例273  灰度“最大化”、“最小化”

   与“关闭”按钮 328

6.10  对话框的资源共享 330

实例274  支持多国语言切换的应用程序 330

实例275  如何实现窗体继承 332

实例276  换肤窗体 333

实例277  自绘对话框 335

6.11  文档视图窗体的使用 337

实例278  MDI启动时无子窗口 337

实例279  MDI启动时子窗口最大化 338

实例280  MDI主窗口最大化显示 339

实例281  全屏显示的窗体 340

实例282  创建带滚动条的窗体 341

实例283  窗体拆分 342

实例284  始终置顶的SDI程序 343

实例285  不可移动的窗体 344

实例286  创建不可改变大小的窗体 345

实例287  动态创建视图窗口 345

实例288  在视图窗口中显示网页 347

第7章  MFC控件 350

7.1  静态文本控件 351

?实例289  文本背景的透明处理 351

实例290  具有分隔条的静态文本控件 352

实例291  设计群组控件 354

实例292  电子时钟 355

?实例293  模拟超链接效果 357

实例294  使用静态文本控件数组设计简易

拼图 359

7.2  编辑框控件 360

?实例295  多行文本编辑器 360

实例296  输入时显示选择列表 362

实例297  七彩编辑框效果 363

实例298  如同画中题字 364

实例299  金额编辑框 365

实例300  密码安全编辑框 367

实例301  个性字体展示 368

实例302  在编辑框中插入图片数据 370

实例303  RTF文件读取器 372

实例304  在编辑框中显示表情动画 375

7.3  按钮控件 378

实例305  位图和图标按钮 378

实例306  问卷调查的程序实现 379

实例307  热点效果的图像切换 380

实例308  实现图文并茂的效果 381

实例309  按钮七巧板 384

实例310  动画按钮 386

7.4  组合框控件 388

实例311  向组合框中插入数据 388

实例312  输入数据时的辅助提示 389

实例313  列表宽度的自动调节 390

实例314  颜色组合框 392

实例315  枚举系统盘符 394

?实例316  QQ登录式的用户选择列表 395

7.5  列表框控件 396

实例317  禁止列表框信息重复 396

实例318  在两个列表框间实现数据交换 398

实例319  上下移动列表项的位置 399

实例320  实现标签式选择 400

实例321  要提示才能看得见 401

实例322  水平方向的延伸 402

实例323  为列表框换装 403

7.6  滚动条控件 405

实例324  使用滚动条显示大幅位图 405

实例325  滚动条的新装 407

7.7  进度条控件 408

实例326  颜色变了 408

实例327  进度条的百分比显示 409

7.8  滑标控件 411

实例328  程序中的调色板 411

实例329  绘制滑标控件 412

7.9  列表视图控件 414

实例330  头像选择形式的登录窗体 414

实例331  以报表显示图书信息 416

实例332  实现报表数据的排序 417

实例333  在列表中编辑文本 419

实例334  QQ抽屉控件 420

7.10  树视图控件 422

实例335  以树状结构显示城市信息 422

实例336  节点可编辑 423

实例337  分层显示数据 424

实例338  使树视图控件具有复选功能 426

实例339  树控件的背景设计 427

实例340  显示磁盘目录 428

7.11  标签控件 429

实例341  界面的分页显示 429

实例342  标签中的图标设置 431

7.12  时间控件 432

实例343  迷你星座查询器 432

实例344  设置系统时间 434

7.13  月历控件 435

实例345  时间和月历的同步 435

实例346  实现纪念日提醒 437

7.14  其他控件 438

实例347  对数字进行微调 438

实例348  使用热键控件 439

实例349  获得本机的IP地址 440

第8章  菜单 442

8.1  菜单创建 443

?实例350  根据表中数据动态生成菜单 443

实例351  创建级联菜单 444

实例352  带历史信息的菜单 445

实例353  绘制渐变效果的菜单 446

实例354  带图标的程序菜单 447

实例355  根据INI文件创建菜单 449

实例356  根据XML文件创建菜单 450

8.2  设置菜单属性 451

?实例357  为菜单添加核对标记 451

实例358  为菜单添加快捷键 452

实例359  设置菜单是否可用 453

实例360  将菜单项的字体设置为粗体 454

?实例361  多国语言菜单 455

实例362  可以下拉的菜单 456

实例363  左侧引航条菜单 457

?实例364  右对齐菜单 458

8.3  菜单位置控制 459

实例365  鼠标右键弹出菜单 459

实例366  浮动的菜单 461

实例367  更新系统菜单 462

实例368  任务栏托盘弹出菜单 462

实例369  单文档右键菜单 464

8.4  控件菜单 465

实例370  工具栏下拉菜单 465

实例371  编辑框右键菜单 466

?实例372  列表控件右键菜单 467

实例373  工具栏右键菜单 468

第9章  工具栏和状态栏 469

9.1  工具栏创建 470

9.2  工具栏控制 477

9.3  增强工具栏 485

9.4  状态栏 491

第3篇  应用程序控制

第10章  Word文档操作 500

10.1  Word文档的基本操作 501

10.2  Word文档统计 508

10.3  Word文档的内容转换 513

10.4  Word文档的图形与阴影操作 517

10.5  Word文档的插入与导出操作 526

第11章  Excel表格操作 545

11.1  Excel表格的基本操作 546

11.2  Excel表格与外部数据 554

11.3  Excel表格的设置 564

  

第4篇  图形图像

第12章  图形绘制 580

12.1  特殊曲线 581

12.2  图形基础 597

12.3  分形 620

第13章  图像特效 623

13.1  图像滤镜 624

13.2  图像绘制 632

13.3  图像色彩转换 637

13.4  图像边缘提取 642

13.5  字体特效 648

第14章  图像控制 657

14.1  图像缩放 658

14.2  图像剪切 665

14.3  图像转动 672

14.4  图像融合 676

14.5  图像查看 685

14.6  图像格式转换 707

第15章  多媒体 736

15.1  多媒体控制 737

15.2  控件动画 745

15.3  多媒体播放 750

15.4  采集、转换与播放 760

15.5  多媒体动画效果 800

15.6  游戏 815