visual studio 201211 beta版本下 如何用C++实现界面的切换?求解答,谢谢!

深度解读Visual Studio 11 九大新特性(组图)
发表于 09:49|
来源CSDN编译|
摘要:相信你们已经在开发者预览版里看到了Visual Studio 11有的功能在Visual Studio 2010的Power Tools扩展中似曾相识,但是Visual Studio 11帮你们免去了单独安装各式各样插件的麻烦,更深层、更完美地整合在一起。 当然,Visual Studio 11不会只是集成了Power Tools的Visual Studio 2010,下面是我个人认为的Visual Studio 11的比较重要的...
导读:之前发布的消息受到了众多技术人员的关注和讨论。日前Visual Studio 11最新的Beta版本在巴塞罗那正式推出。为让更多人了解相关内容,以及与Visual Studio 2010所能支持的项目类型比较,CSDN软件研发频道编译了Microsoft Visual Studio全球最有价值专家眼中的Visual Studio 11 九大新功能。
项目兼容(Project Compatibility)
高效的IDE(IDE Productivity Improvements)
随处搜索(Search Everywhere)
工具栏升级(Toolbar Improvements)
附加工具(Additional Tooling)
多显示器支持(Multiple-Monitor Support )
性能提升(Performance Enhancements )
新的项目类型(New Project Types)
可扩展性(Extensibility )
1.项目兼容(Project Compatibility)
Visual Studio2011的向下兼容性让你不再犹豫升级你的Visual Studio2010。过去每次升级Visual Studio总会修改你打开的项目文件,有时候甚至只是修改一下版本号,就让你的项目不再被兼容,虽然在个人使用时并没有什么大问题,但在团队工作时却会造成大麻烦,只能让整个团队同时升级到相同版本。而现在,当你把你的Visual Studio 2010 sp1升级到Visual Studio 11时,不再会对团队造成影响,因为Visual Studio 11使用的.NET4.5框架不会修改旧的项目文件。虽然仅仅支持Visual Studio 2010 sp1互通,却仍非常实用。
2.更高效的IDE(IDE Productivity Improvements)
不管你是使用哪种编程语言编程,相信你都会很快注意到这些高效的功能,也许你会感到很熟悉,因为很多功能在集成了Productivity Power Tools扩展的Visual Studio 2010中已经看到。或者你没有试过Power Tools,但是使用过Eclipse,相信对此也会非常熟悉。首先,解决方案管理器有了很大的修改,它不再只是文件的索引,它可以直接在解决方案管理器中查看对象的结构。比如,你可以展开一个CS类来直接查看它的成员并且直接打开文件相应位置。在类成员上右键就会出来这个成员的call hierarchy菜单,一般来说,这个菜单会包括它的基类、衍生类以及在项目中被引用情况,通过点击菜单中不同的选项来查看或编辑文件相应的位置。正如你所想的那样,双击要查看的节点就会打开节点所对应的文件位置。强大的新的解决方案管理器还提供了预览功能。点击解决方案管理器的节点就会打开一个文档的预览。这样,当你只是想预览一些文件时就只会在一个公共Tab(标签页)中进行预览而不会打开过多的无用Tab。当然你也可以点击预览Tab的Promote按钮或者对它进行手动编辑从而将它变成普通Tab。
3.Search Everywhere
在Visual Studio2010中虽然已经集成了简单的搜索功能,作为前三受欢迎的功能,在Visual Studio11中必然会着重优化。
目前已知提供搜索功能的部分:解决方案管理器、扩展管理器、快速查找功能、新的测试管理器、错误列表、并行监控、工具箱、TFS(Team Foundation Server)团队项目、快速执行Visual Studio命令。
4.工具栏的改进(Toolbar Improvements )
最显眼的莫过于增加了快速启动搜索框,可以直接输入快速命令。只要键入关键字就会在下拉列表中提示可用命令。甚至可以在其中找到工具菜单。
5.附加工具(Additional Tooling)
Visual Studio新增了几项新工具都非常引人注目。Visual Studio 11 IDE集成了Expression Blend,极大方便了XAML相关应用的开发。此外Visual Studio 2011提供了一个崭新的代码克隆分析工具,相信VSS的老用户会非常熟悉,但是这个新版本不仅集成在Visual Studio 11中,而且功能相当完备。
6.支持多显示器(Multiple-Monitor Support)
Visual Studio 2010虽然已经开始支持多显示器,但仍有不少问题。Visual Studio 2011提供了强有力的多显示器支持。和新的IE一样,当你把一个Tab拖到另一个显示器上时,它会自动创建一个IDE,你可以轻松地把自己的项目移动到另外一个显示器中折叠起来。
7.性能优化(Performance Enhancements)
Visual Studio 2010中有一个没怎么引起注意过的多项目并行Build功能,但只局限于C++,现在在Visual Studio 11中,已经不用再受编程语言约束了,不论你是用什么语言(Visual Studio 11支持的)开发的,都可以畅快地体验并行Build的效率。从此可以在&最大并行数&中来管理最大并行项目数。Visual Studio 11中msbuild.exe不复存在,而且由于Visual Studio 11中Build过程也不再在Devenv.exe进程中进行,所以Visual Studio 11编译时还将会获得更好的UI反应和更低的内存占用。Visual Studio 11中,最大同时进行的Build数默认是等于CPU核心数的,不建议你手动修改这个值,因为可能会造成不必要的矛盾的编译结果。
8.新的项目类型(New Project Types)
从专业的角度来看是否应该从一款Visual Studio 转向另一版本的Visual Studio ,很重要的一点就是比较项目类型。新的Metro风格的项目毫无疑问是Visual Studio 11的主推功能。包括Application, Grid Application, Split Application, Class Library 和Unit Test Library。另外一个 Visual Studio 11 就是JavaScript,包括Blank Application, Fixed Layout Application, Grid Application, Navigation Application 和Split Application。当然,这些新功能只能在Windows8环境下使用。值得注意的是,这一版本还是支持窗口程序的,Silver Light也依然存在,仍然是Visual Studio所支持的平台之一。还应该注意到是,Visual Studio 11甚至包含了便携库,这允许跨平台的Silver Light和标准.NET的跨平台开发。另一个很具代表性的特色就是,所以的新功能都支持C++开发,使用C++来开发Metro界面。但是,Visual Studio 11将不再支持.NET2.0以下平台,很较早的程序需要重新。
其它具体的项目类型的支持差别请查看文章所附的大图。
9.可扩展性(Extensibility )
Visual Studio 11提供了相当多的插件来帮助更简单地操作。
Visual Studio Package: 提供旧版本Visual Studio 视图的插件
C#/Visual Basic Item and Project Templates: 定制的文档和项目模板
Editor Classifier: 自定义文本高亮支持
Editor Margin: 支持自定义编辑器&margins& UI
Editor Text Adornment: 支持编辑器自定义图片装饰
Editor Viewport Adornment: 支持画板的自定义图片美化
VSIX Project: Visual Studio 11的可扩展性在Visual Studio Gallery中的体现
Windows Presentation Foundation/Windows Forms Toolbox Control: 客户端UI的自定义控制
Visual Studio 11还提供了新的API接口用来开发插件。和之前透露的一样,包括可以使用第三方单元测试工具(XUnit and NUnit)和定制的代码分析工具。这是微软开放IDE扩展的一个信号,特别是面向开源工具。
微软在做了众多改进后却删减了一个相当重要的特性&&宏!根据微软的报告,因为只有很少的的用户使用过宏,所以Visual Studio 2011 中并不会默认引入宏,但Visual Studio 11将可以通过扩展包引入自定义功能。
从开发者的角度来看,我们希望Visual Studio 能够很好地改善开发效率,在这方面,Visual Studio 11并没有明显的改进。但在其他地方,Visual Studio 11做了很多改进,比如:SearchEverywhere、真正的多显示器支持、先进的代码克隆分析工具,以及解决方案管理器。明确地把重构过的测试功能也集成了进来,并且把测试窗口全都统一到同一个单元测试资源管理器中。
下面是Visual Studio 11和Visual Studio2010支持的项目类型的详细比较:
关于作者:作者 是IntelliTechture的首席设计师和培训师。自1996年,他分别获得微软C#/Visual Studio /WindowsSDK方面全球最有价值专家。2007年,他成为微软的区域总监。
(注:本文由CSDN王然编译,转载请注明出处)
推荐阅读相关主题:
网友评论有(0)
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章Visual Studio 11 Beta 4 月更新
Visual Studio 11 Beta 4 月更新已经发布,该版本为所有使用 Visual Studio 11 的 Windows 8 开发者提供体验和开发 WinRT 应用的功能。根据&&该更新版本提升了 IDE 的稳定性,修复了可视化 XAML 设计器、Razor 文件编辑器以及一些一般 IDE 组件的很多问题。此次更新主要针对 C# 开发人员。修复的 bug 主要集中在 Team Explorer, C++ 项目和 Visual Studio extensibility layer.如果你正在使用 Windows 8 ,但还没有安装 Visual Studio 11 Beta,&.更多关于的详细信息,或者下载地址请点&&&&Visual C++ 2008入门经典--详细书签版
Visual C++ 2008入门经典--详细书签版
CruiseYoung提供的带有详细书签的电子书籍目录
http://blog.csdn.net/fksec/article/details/7888251
特别说明:该版本是目前网络上最全的版本:修正了268-367页缺页的问题。
Visual C++ 2008入门经典
原书名: Ivor Horton's Beginning Visual C++ 2008
原出版社: Wrox
作者: (美)Ivor Horton
译者: 姜玲玲 张云
出版社:清华大学出版社
上架时间:
出版日期:2009 年2月
开本:16开
页码:1124
  1.本书是C++编程方面最畅销的图书品种之一。.
   2.本书是编程语言先驱者Ivor Horton的又一经典之作。
   3.本书早期版本曾影响着无数程序员。..
   4.本书适用于想学习C++程序的初学者,学习本书内容无需任何编程基础。
   5.本书不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI。
  本书系编程语言先驱者ivor horton的经典之作,是c++编程方面最畅销的图书品种之一,不仅涵盖了visual c++ 2008编程知识,还全面介绍了标准c++语言和c++/cli。本书延续了ivor horton讲解编程语言的独特方法,从中读者可以学习visual c++ 2008的基础知识,了解如何使用mfc进行本地iso/ansi c++ windows应用程序开发以及如何使用windows forms进行c++/cli windows应用程序开发,并全面掌握在mfc和windows forms中访问数据源的技术。此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为c++高效程序员。.
   本书学习目标
   ◆ 使用标准模板库(stl)来组织和操作本地c++程序中的数据
   ◆ c++程序调试技术..
   ◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素
   ◆ 创建和使用常用控件构建应用程序的图形用户界面
   ◆ 使用mfc开发库
   ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法
   本书读者对象
   本书适用于想学习如何为windows操作系统编写c++程序的初学者,学习本书内容无需任何编程基础。...
   本书源代码及习题答案下载
   .cn/downpage
  Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的咨询及撰写工作,曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。IvorHorton还著有关于C、C++和Java的多部入门级好书,如《C语言入门经典(第4版)》和《C++入门经典(第3版)》。
使用Visual C++ 2008编程 1
.NET Framework 1
编写C++应用程序 3
学习Windows编程 4
控制台应用程序 6
Windows编程概念 6
集成开发环境简介 8
工具栏选项 10
可停靠的工具栏 10
项目和解决方案 11
设置Visual C++ 2008的选项 22
创建和执行Windows应用程序 23
创建Windows Forms应用程序 25
数据、变量和计算 28
C++程序结构 28
程序注释 33
#include指令—— 头文件 34
命名空间和using声明 34
main()函数 35
程序语句 35
自动生成的控制台程序 38
定义变量 39
命名变量 39
声明变量 40
变量的初值 41
基本数据类型 41
整型变量 42
字符数据类型 43
整型修饰符 44
布尔类型 44
浮点类型 45
定义数据类型的同义词 47
具有特定值集的变量 47
基本的输入/输出操作 48
从键盘输入 49
到命令行的输出 49
格式化输出 50
转义序列 51
C++中的计算 53
赋值语句 53
算术运算 53
计算余数 58
修改变量 58
增量和减量运算符 59
计算的顺序 61
变量类型和类型强制转换 62
对操作数进行类型强制转换的规则 63
赋值语句中的类型强制转换 64
显式类型强制转换 64
老式的类型强制转换 65
按位运算符 65
了解存储时间和作用域 71
自动变量 72
决定变量声明的位置 74
全局变量 74
静态变量 77
命名空间 78
声明命名空间 79
多个命名空间 80
C++/CLI编程 81
C++/CLI特有的基本数据类型 81
命令行上的C++/CLI输出 85
C++/CLI特有的功能——格式化输出 86
C++/CLI的键盘输入 88
使用safe_cast 90
C++/CLI枚举 90
判断和循环 97
比较数据值 97
嵌套的if语句 99
扩展的if语句 101
嵌套的if-else语句 103
逻辑运算符和表达式 105
条件运算符 108
switch语句 109
无条件转移 111
重复执行语句块 112
循环的概念 112
for循环的变体 115
while循环 122
do-while循环 124
嵌套的循环 124
C++/CLI编程 127
数组、字符串和指针 134
处理多个相同类型的数据值 134
声明数组 135
初始化数组 138
字符数组和字符串处理 139
多维数组 142
间接数据存取 145
指针的概念 145
声明指针 146
使用指针 147
初始化指针 149
sizeof运算符 154
常量指针和指向常量的指针 155
指针和数组 157
动态内存分配 163
堆的别名—— 自由存储器 164
new和delete运算符 164
为数组动态分配内存 165
多维数组的动态分配 167
使用引用 168
引用的概念 168
声明并初始化引用 168
字符串的本地C++库函数 169
查找以空字符结尾的字符串的长度 169
连接以空字符结尾的字符串 170
复制以空字符结尾的字符串 171
比较以空字符结尾的字符串 172
搜索以空字符结尾的字符串 173
C++/CLI编程 175
跟踪句柄 175
CLR数组 177
字符串 191
跟踪引用 199
内部指针 200
程序结构(1) 205
理解函数 205
需要函数的原因 206
函数的结构 206
使用函数 208
给函数传递实参 212
按值传递机制 212
给函数传递指针实参 214
给函数传递数组 215
给函数传递引用实参 219
使用const修饰符 221
main()函数的实参 222
接受数量不定的函数实参 224
从函数返回值 226
返回指针 226
返回引用 229
函数中的静态变量 231
递归函数调用 233
C++/CLI编程 235
接受数量可变实参的函数 236
main( )的实参 237
程序结构(2) 240
函数指针 240
声明函数指针 241
函数指针作为实参 243
函数指针的数组 245
初始化函数形参 245
抛出异常 248
捕获异常 249
MFC中的异常处理 250
处理内存分配错误 251
函数重载 252
函数重载的概念 253
何时重载函数 255
函数模板 255
使用函数的示例 257
实现计算器 258
从字符串中删除空格 260
计算表达式的值 261
获得项值 263
分析数 264
整合程序 266
扩展程序 268
提取子字符串 269
运行修改过的程序 271
C++/CLI编程 271
理解泛型函数 272
CLR版本的计算器程序 277
自定义数据类型 285
C++中的结构 285
结构的概念 286
定义结构 286
初始化结构 286
访问结构的成员 287
伴随结构的智能帮助 290
RECT结构 291
使用指针处理结构 291
数据类型、对象、类和实例 293
类的起源 294
类的操作 295
理解类 295
定义类 296
声明类的对象 296
访问类的数据成员 297
类的成员函数 299
成员函数定义的位置 300
内联函数 301
类构造函数 302
构造函数的概念 302
默认的构造函数 304
在类定义中指定默认的形参值 306
在构造函数中使用初始化列表 307
类的私有成员 308
访问私有类成员 310
类的友元函数 311
默认复制构造函数 313
this指针 315
类的const对象 317
类的const成员函数 318
类外部的成员函数定义 318
类对象的数组 319
类的静态成员 321
类的静态数据成员 321
类的静态函数成员 323
类对象的指针和引用 324
类对象的指针 324
类对象的引用 327
C++/CLI编程 328
定义数值类类型 329
定义引用类类型 333
定义引用类类型的复制构造函数 335
类属性 336
initonly字段 348
静态构造函数 349
深入理解类 352
类的析构函数 352
析构函数的概念 352
默认的析构函数 353
析构函数与动态内存分配 354
实现复制构造函数 357
在变量之间共享内存 359
定义联合 360
匿名联合 361
类和结构中的联合 361
运算符重载 362
实现重载的运算符 362
实现对运算符的完全支持 365
重载赋值运算符 368
重载加法运算符 372
重载递增和递减运算符 376
类模板 377
定义类模板 377
根据类模板创建对象 380
使用有多个形参的类模板 382
使用类 384
类接口的概念 384
定义问题 384
实现CBox类 385
使用CBox类 400
组织程序代码 403
字符串的本地C++库类 405
创建字符串对象 405
连接字符串 407
访问与修改字符串 410
比较字符串 414
搜索字符串 417
C++/CLI编程 425
在数值类中重载运算符 425
重载递增和递减运算符 430
在引用类中重载运算符 431
实现引用类型的赋值运算符 433
类继承和虚函数 436
面向对象编程的基本思想 436
类的继承 437
基类的概念 438
基类的派生类 438
继承机制下的访问控制 441
派生类中构造函数的操作 444
声明类的保护成员 447
继承类成员的访问级别 449
派生类中的复制构造函数 451
友元类成员 455
友元类 456
对类友元关系的限制 456
虚函数 456
虚函数的概念 459
使用指向类对象的指针 461
使用引用处理虚函数 462
纯虚函数 463
抽象类 464
间接基类 467
虚析构函数 469
类类型之间的强制转换 473
嵌套类 474
C++/CLI编程 477
装箱与拆箱 477
C++/CLI类的继承 478
接口类 483
定义接口类 484
类和程序集 487
被指定为new的函数 491
委托和事件 492
引用类的析构函数和终结器 503
通用类 505
标准模板库 518
标准模板库的定义 518
容器适配器 519
迭代器 520
函数对象 522
函数适配器 522
STL容器范围 522
序列容器 522
创建矢量容器 524
矢量容器的容量和大小 526
访问矢量中的元素 530
在矢量中插入和删除元素 531
在矢量中存储类对象 533
排序矢量元素 536
排序矢量中的指针 537
双端队列容器 539
使用列表容器 542
使用其他序列容器 551
关联容器 561
使用映射容器 561
使用多重映射容器 572
关于迭代器的更多内容 573
使用输入流迭代器 573
使用插入迭代器 576
使用输出流迭代器 577
关于函数对象的更多内容 579
关于算法的更多内容 580
fill() 581
replace() 581
find() 581
transform() 582
C++/CLI程序的STL 583
STL/CLR容器 583
使用序列容器 584
使用关联容器 591
调试技术 598
理解调试 598
程序故障 599
常见故障 600
基本的调试操作 601
设置断点 603
设置跟踪点 604
启动调试模式 605
修改变量的值 608
添加调试代码 609
使用断言 609
添加自己的调试代码 610
调试程序 615
调用堆栈 616
单步执行到出错位置 617
测试扩展的类 620
调试动态内存 623
检查自由存储器的函数 623
控制自由存储器的调试操作 624
自由存储器的调试输出 626
调试C++/CLI程序 630
使用调试和跟踪类 631
在Windows Forms应用程序中获得跟踪输出 638
Windows编程的概念 640
Windows编程基础 640
窗口的元素 641
Windows程序与操作系统 642
事件驱动型程序 643
Windows消息 643
Windows API 643
Windows数据类型 644
Windows程序中的符号 645
Windows程序的结构 646
WinMain()函数 647
消息处理函数 657
简单的Windows程序 661
Windows程序的组织 662
MFC标记法 663
MFC程序的组织方式 664
使用Windows Forms 668
使用MFC编写Windows程序 671
MFC的文档/视图概念 671
文档的概念 671
文档界面 672
视图的概念 672
连接文档和视图 673
应用程序和MFC 674
创建MFC应用程序 675
创建SDI应用程序 677
MFC Application Wizard的输出 680
创建MDI应用程序 689
处理菜单和工具栏 692
与Windows进行通信 692
了解消息映射 693
消息类别 695
处理程序中的消息 696
扩充Sketcher程序 697
菜单的元素 697
为菜单消息添加处理程序 700
选择处理菜单消息的类 701
创建菜单消息函数 702
编写菜单消息函数的代码 704
添加更新用户界面的消息处理程序 708
添加工具栏按钮 711
编辑工具栏按钮的属性 712
练习使用工具栏按钮 713
添加工具提示 713
C++/CLI程序中的菜单和工具栏 714
理解Windows Forms 714
理解Windows Forms应用程序 715
在CLR Sketcher中添加菜单 717
添加菜单项的事件处理程序 719
实现事件处理程序 720
设置菜单项复选 721
添加工具栏 723
练习题 725
在窗口中绘图 726
窗口绘图的基础知识 726
窗口客户区 727
Windows图形设备界面 727
Visual C++中的绘图机制 729
应用程序中的视图类 729
实际绘制图形 737
对鼠标进行编程 739
鼠标发出的消息 740
鼠标消息处理程序 741
使用鼠标绘图 743
练习使用Sketcher程序 764
运行示例 765
捕获鼠标消息 765
在CLR中绘图 767
在窗体上绘图 767
添加鼠标事件处理程序 767
定义C++/CLI元素类 769
实现MouseMove事件处理程序 775
实现MouseUp事件处理程序 776
实现窗体的Paint事件处理程序 776
练习题 778
创建文档和改进视图 779
MFC集合类 779
集合的类型 780
类型安全的集合类 780
对象集合 780
类型化指针集合 789
使用CList模板类 790
绘制曲线 791
定义CCurve类 792
实现CCurve类 794
练习使用CCurve类 795
创建草图文档 796
改进视图 801
更新多个视图 801
滚动视图 803
使用MM_LOENGLISH映射模式 807
删除和移动形状 808
实现上下文菜单 809
关联菜单和类 810
选择上下文菜单 812
醒目显示元素 816
处理菜单消息 821
处理被屏蔽的元素 828
扩展CLR Sketcher 829
坐标系统转换 829
定义曲线 831
定义草图类 833
在Paint事件处理程序中绘制草图 834
实现元素的醒目显示 835
创建上下文菜单 838
使用对话框和控件 845
理解对话框 845
理解控件 846
创建对话框资源 847
对话框的编程 849
添加对话框类 849
模态和非模态对话框 851
显示对话框 851
支持对话框控件 854
初始化控件 854
处理单选按钮消息 855
完成对话框的操作 856
给文档类添加存储线宽的成员 857
给元素添加线宽 857
在视图中创建元素 858
练习使用对话框 859
使用微调按钮控件 859
添加Scale菜单项和工具栏按钮 860
创建微调按钮 860
生成比例对话框类 861
显示微调按钮 864
使用比例系数 865
可缩放的映射模式 865
设置文档的大小 866
设置映射模式 867
同时实现滚动与缩放 868
使用状态栏 870
使用列表框 874
删除比例对话框 874
创建列表框控件 875
使用编辑框控件 877
创建编辑框资源 877
创建对话框类 878
添加Text菜单项 880
定义文本元素 880
实现CText类 881
创建文本元素 883
CLR Sketcher中的对话框和控件 884
添加对话框 885
创建文本元素 890
创建文本对话框 894
存储和打印文档 898
了解串行化 898
串行化文档 899
文档类定义中的串行化 899
文档类实现中的串行化 900
基于CObject的类的功能 902
串行化的工作方式 903
如何实现类的串行化 904
应用串行化 905
记录文档修改 905
串行化文档 906
串行化元素类 907
练习串行化 910
移动文本 911
打印文档 912
实现多页打印 915
获取文档的总尺寸 916
存储打印数据 917
准备打印 917
打印后的清除 919
准备设备环境 919
打印文档 920
获得文档的打印输出 923
CLR Sketcher中的串行化和打印 924
了解二进制串行化 924
串行化草图 928
打印草图 933
练习题 935
编写自己的DLL 936
了解DLL 936
DLL的工作方式 937
DLL的内容 939
DLL变体 940
决定放入DLL的内容 941
编写DLL 941
编写和使用扩展DLL 942
从DLL中导出变量和函数 948
将符号导入程序 949
实现符号从DLL的导出 949
练习题 952
连接到数据源 953
数据库基础知识 953
使用SQL检索数据 956
使用SQL连接表 957
对记录进行排序 959
MFC中的数据库支持 959
创建数据库应用程序 961
注册ODBC数据库 961
生成MFC ODBC程序 962
了解程序结构 965
示例练习 974
对记录集进行排序 974
使用另一个记录集对象 976
添加记录集类 976
添加记录集的视图类 978
定制记录集 982
访问多个表视图 985
查看产品的订单 990
查看客户的详细情况 990
添加客户记录集 990
创建客户对话框资源 991
创建客户视图类 992
添加过滤器 993
实现过滤器参数 995
链接订单对话框和客户对话框 996
练习使用数据库查看器 998
练习题 999
更新数据源 1000
更新操作 1000
CRecordset更新操作 1001
简单的更新示例 1004
管理更新过程 1007
向表中添加行 1016
订单录入过程 1017
创建资源 1017
创建记录集 1018
创建记录集视图 1018
给对话框资源添加控件 1022
实现对话框切换 1026
创建订单ID 1030
存储订单数据 1034
为订单选择产品 1036
添加新订单 1038
Windows Forms应用程序进阶 1043
创建应用程序API 1043
添加选项卡控件 1045
使用GroupBox控件 1046
使用Button控件 1048
使用WebBrowser控件 1049
Winning应用程序的操作 1050
添加上下文菜单 1050
创建事件处理程序 1051
处理Limits菜单的事件 1057
创建对话框 1057
使用对话框 1061
添加第二个对话框 1066
实现Help | About菜单项 1072
处理按钮单击事件 1073
响应上下文菜单 1075
在Windows Forms 应用程序中访问数据源 1083
使用数据源 1083
访问并显示数据 1084
使用DataGridView控件 1085
在无约束模式中使用DataGridView控件 1086
定制DataGridView控件 1091
定制题头单元格 1092
定制非题头单元格 1092
动态设置单元格样式 1098
使用约束模式 1103
BindingSource组件 1104
使用BindingNavigator控件 1108
绑定到单独的控件 1111
使用多个表 1113
C++关键字 1116
ASCII码 1118
Windows消息类型 1123
  欢迎使用本书。通过学习本书,您可成为优秀的C++程序员。Microsoft公司的最新开发系统Visual Studio 2008支持两种截然不同但又紧密相关的C++语言。该系统完全支持原来的ISO/ANSI标准C++,同时还支持名为C++/CLI的新版C++。C++/CLI由Microsoft公司开发,现在是ECMA标准。这两种C++版本互为补充,各自完成不同的任务。ISO/ANSI C++用于开发在本地计算机上运行的高性能应用程序,而C++/CLI专门为.NET Framework开发。本书将讲述使用这两种C++版本开发应用程序的基础知识。.
  当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发,但同时也是Windows Forms应用程序开发的载体。开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码。当然,当必须给Windows Forms应用程序添加代码时,即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识。ISO/ANSI C++仍然是许多专业人员选用的语言,但C++/CLI和Windows Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此,笔者将在本书中介绍这两种C++语言的基本内容。
  0.1 本书读者对象
  本书讲授如何使用Visual C++ 2008或Visual Studio 2008的任何版本,编写在Microsoft Windows操作系统下运行的C++应用程序。阅读本书不需要预先具备任何特定编程语言的知识。如果属于下列4种情形之一,那么您就适于学习本教程:
  ●具备少量其他语言的编程经验,如BASIC;渴望学习C++,并想提升实际的Microsoft Windows编程技能。
  ●有一些使用C或C++语言的经验,但使用环境不是Microsoft Windows;希望使用最新的工具和技术,扩充在Windows环境下编程的技能。
  ●有一些C++知识,希望扩展C++技能,成为会使用C++/CLI的编程人员。
  ●属于编程新手,十分渴望投入编程世界,并最终掌握C++。要取得成功,您至少需要对计算机的工作原理有透彻的理解——包括内存的组织方式以及数据和指令的存储方式。
  0.2 本书主要内容
  本书使用Visual C++ 2008支持的两种技术,讲授C++编程的基础知识。详细介绍了两种风格的C++语言,使用Microsoft基本类(Microsoft Foundation Classes,MFC)开发本地的ISO/ANSI C++ Windows应用程序,使用Windows Forms开发C++/CLI Windows应用程序等知识。
  由于数据库技术在今天的重要性和普遍性,本书还介绍了可用于在MFC和 Windows Forms应用程序中访问数据源的技术。与Windows Forms应用程序相比,MFC应用程序相对来说属于编码密集型程序,原因是前者的创建过程使用了Visual C++ 2008中的高级设计功能,可以以图形方式组装应用程序的整个图形用户界面(GUI),并使所有代码自动生成。因此,本书把较多的篇幅给予了MFC编程,而非Windows Forms编程。
  0.3 本书结构
  本书内容的结构安排如下:
  ●第1章介绍使用C++编写本地应用程序和.NET Framework应用程序所需要理解的基本概念,以及在Visual C++ 2008开发环境中体现的主要思想。还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序。
  ●第2~9章专门讲授两种C++语言版本,还讲述了调试过程中涉及的基本概念和技术。第2~9章内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题。
  ●第10章介绍如何使用标准模板库(Standard Template Library,STL)。STL是一组功能强大且全面的工具,用来组成和操作本地C++程序中的数据。由于STL是独立于应用程序的,因此我们可以在上下文中大量应用它。第10章还介绍了Visual C++ 2008新增的STL/CLR。它是C++/CLI应用程序的STL版本。
  ●第11章介绍了在C++程序中查找错误的技术。
  ●第12章讨论Microsoft Windows应用程序的组织方式,并描述和展示了在所有Windows应用程序中都存在的基本元素。本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语言编写的Windows Forms应用程序基础示例。
  ●第13~18章详细描述了MFC提供的构建GUI的功能以及如何在程序中针对.NET Framework使用等价的工具。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中,我们将用本地C++创建一个具有相当规模的应用程序,并用C++/CLI创建一个本质上与C++程序功能相同的程序。除了学习构建GUI的技术以外,我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档,以及如何在磁盘上保存文档。
  ●第19章讲述为使用MFC创建自己的库而需要知道的基本知识。我们将了解可以创建的不同种类的库,还将开发能够与前6章开发的应用程序协同工作的示例。
.  ●第20、21两章讲述如何在MFC应用程序中访问数据源。我们首先介绍在只读模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术。这两章的示例使用了从Web上下载的Northwind数据库,但我们也可以把这两章描述的技术应用于自己的数据源。
  ●第22章通过使用Windows Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件。通过贯穿本章构建的另一个完整的应用程序,我们将获得一定的实践经验。
  ●第23章以第22章讲述的知识为基础,演示了可用来访问数据源的控件的工作原理,并讲述了定制这些控件的方法。我们还将学习如何在不编写任何代码的情况下,创建能够访问数据库的应用程序。..
  本书各章内容都包括许多示范所讨论的编程技术的示例。每章结束的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出了一组练习题,您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部分了解详细情况)。
  关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下,学习C++的各种功能。实际上,我们只有在对编程语言有了透彻理解之后,才能进行Windows 编程。
  如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI C++编程。讲授C++语言的各章(第2~9章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能。以这种方式组织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的,因此对C++/CLI的理解是以对ISO/ANSI C++的理解为基础的。因此,您可以只阅读第2~21章中的ISO/ANSI主题,而忽略后面的C++/CLI部分。然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼。在熟悉了ISO/ANSI C++之后,您可以回头重新学习C++/CLI。当然,您也可以逐章进行学习,从而同步增加这两种C++语言版本的知识。
  0.4 使用本书的前提
  为了使用本书,您需要拥有Visual Studio 2008 Standard Edition、Visual Studio 2008 Professional Edition或者Visual Studio 2008 Team System。注意,Visual C++ Express 2008因不包括MFC而不能胜任。
  Visual Studio 2008要求操作系统是Windows XP(x86或x64) Service Pack 2或更高版本,Windows Server 2003 Service Pack 1或更高版本,或者Windows Vista除Starter Edition之外的版本。为了安装上述3种Visual Studio 2008版本,您的计算机需要有1 .6GHz的处理器,至少要有384MB的内存(Windows Vista至少需要768MB),硬盘驱动器上至少需要有2.2GB的可用空间。为了安装随产品提供的完整MSDN文档,您在安装驱动器上需要有额外的1.8GB可用空间。
  书中的数据库示例使用了Northwind Traders数据库。通过在上搜索“Northwind Traders”,可以找到该数据库的下载链接。当然,您可以把相应的示例改编成使用其他数据库。
  最为重要的是,为了使本书发挥最大功效,您需要有学习的愿望和掌握目前最强大的Windows应用程序编程工具的决心,需要有输入和完成所有示例以及完成书中所有练习题的决心。这些要求听起来比较难,而实际上不然,您会惊讶于自己在相对较短的时间内就能达到的成就。记住,每一个学习编程的人都会不时陷入困境,但只要坚持不懈,错综复杂的问题必将变得越来越清晰,而您最终必将走出困境。本书将帮助您开始独立的实践,并由此成为成功的C++程序员。
  0.5 使用Windows Classic主题
  如果您在Windows Vista系统下使用Visual Studio 2008,可能会注意到视图看起来令人惊异。Aero Glass界面提供的透明效果看第一眼时(甚至以后看了多眼后仍然)是非常惊人的。当您添加了Vista提供的所有视觉效果后,可能会奇怪怎么有人会拒绝这么好的环境呢?然而,当您注视窗口几个小时后,会发现它的显示使您眼花缭乱,您可能宁可设置不那么令视觉疲劳的界面。更重要的是,您可能注意到用这个产品时会使系统速度大大下降,因为所有这些视觉花样(eye candy)抢夺了系统的重要处理周期。
  视觉花样当然是好的,但是在写了一整天的代码后按时回家不更好吗?这是本书使用Windows Classic主题显示Visual Studio 2008窗口的原因之一。另一个原因是,如果我们仍然使用Windows XP,那么奇特的Vista窗口对您就意义不大了。Windows Classic主题是这两种操作系统的公共主题,因此无论您用的是哪种操作系统它总是适用的,而且肯定比Aero Glass界面对眼睛更好。
  如果您使用的是Vista,那么建议尝试一下Vista提供的各种主题,看看它们有没有在您的机器上生效。然而,如果您愿意在Vista中使用本书所用的主题,可以采用下面的步骤来设置。
  (1) 右击Desktop并从上下文菜单中选择Personalize。出现的Personalize窗口如图0-1所示。这个窗口提供对获得Windows Classic视图需要的所有显示设置的访问权限。
  (2) 单击Theme以显示Theme Settings对话框,如图0-2所示。
  (3) 在Theme栏中选择Windows Classic,并单击OK按钮。这时,您的显示将与笔者的非常相像。当然,您仍然需要处理那些特效。下面几步将去除特效。
  (4) 关闭Personalize窗口。
  (5) 打开Control Panel中的System applet,显示System窗口,如图0-3所示。
  (6) 单击Advanced system settings,显示System Properties对话框的Advanced选项卡,如图0-4所示。
  (7) 单击Performance区域中的Settings按钮,显示Performance Options对话框,如图0-5所示。
  (8) 像图0-5中那样选中Adjust for best performance单选按钮。单击OK按钮两次关闭对话框。这时,您的系统就调整为与笔者使用相同的视图,也具有了最佳图形化性能。
  您可能也想通过Classic Start菜单来更轻松地定位应用程序和执行其他任务。为了配置系统提供Classic Start菜单,右击任务栏并选择Properties。选择Start菜单项,再选择Classic Start菜单项,并单击Customize进行所有必需的自定义,然后单击OK按钮。您现在就有了使用Visual Studio的最佳环境了。
  当然,如果使用的是Windows XP,并希望屏幕图像看起来如本书中所示,也可以在这里使用Classic主题。只要在Windows桌面上右击,从弹出的菜单中选择Properties选项,就会显示图0-6所示的对话框。
  在Display Properties对话框的Themes选项卡上,从主题下拉列表中选择Windows Classic。单击OK按钮,就可以使用该主题了。
  0.6 源代码
  在练习本书中的示例时,读者可以手动输入所有的代码,也可以使用本书提供的源代码文件。本书中的所有源代码均可在或.cn/downpage站点下载。登录到站点,使用Search工具或书名列表就可以找到本书。在显示本书详细内容的页面上单击Download Code链接即可获取源代码。
  注意:
  由于很多图书的书名都很类似,因此通过ISBN查找是最简单的。本书英文版的ISBN号是978-0-470-22590-5。
  在下载源代码之后,只需使用自己喜欢的解压缩工具对其进行解压缩即可。另一个途径是访问Wrox代码下载主页面/dynamic/books/download.aspx,这里有本书及其他所有Wrox图书的源代码。
  0.7 勘误表
  我们尽最大努力确保本书在叙述和代码中没有错误。然而,错误总是难免的。如果读者在本书中发现什么错误,例如拼写错误或代码错误,我们将非常感谢您能反馈给我们。通过将错误添加到勘误表中,您也许能帮其他读者节约数小时的时间,也可以帮助我们提供更高质量的图书。
  请给wkservice@发电子邮件,如果您的意见是正确的,我们将在本书的后续版本中采用。
  要找到本书的勘误表,可以登录,搜索本书的书名或者使用书名列表。然后,在本书的详细内容页面上,单击Book Errata链接。在这个页面上读者可以查看到所有已提交的、由Wrox的编辑发布的错误信息。也可以在http:// / misc-pages/booklist.shtml页面找到一个完整的书名列表,这个列表包含了每本书的勘误表链接。
  如果想参与讨论,可以加入P2P论坛,网址是。这个论坛是基于Web站点的系统,其作用是让读者发布与Wrox的图书和相关技术有关的消息,并与其他读者和技术用户交流。该论坛提供订阅功能,当有读者感兴趣的主题发布时,论坛会通过电子邮件把这些消息发送给读者。Wrox的作家、编辑、其他行业专家及和您一样的读者都会到该论坛探讨一些问题。
  在中,读者将找到很多不同的论坛,这些论坛不仅能帮助读者阅读本书,还可以帮助读者开发自己的应用程序。要加入这些论坛,可按如下步骤操作:
  (1) 登录并单击Register链接。
  (2) 阅读使用协议并单击Agree按钮。
  (3) 填写加入论坛所必需的信息和可选信息并单击Submit按钮。
  (4) 读者将收到一封电子邮件,该邮件告诉读者怎样验证账户并成功加入。
  注意:
  不加入P2P论坛也可以阅读该论坛上的信息,但是如果希望发布自己的消息,则必须加入该论坛。
  加入之后,就可以发布新消息或者回复其他用户发布的消息了。可以在任何时间阅读Web站点上的消息。如果希望某个论坛能将最新的消息通过电子邮件发送给您,则可以单击论坛列表中该论坛名称旁边的Subscribe to this Forum图标。
  要获得如何使用P2P论坛的更多信息,可以阅读P2P FAQ列表中的问题及其答复,这些问题与论坛软件的工作原理及很多与P2P和Wrox图书相关的常见问题有关。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。
嵌到我的页面
<input type="text" readonly="true" value="">
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行

我要回帖

更多关于 visual studio 2012 的文章

 

随机推荐