vc++的主要项目种类有四种,MFC,ATL,WIN32,CLR项目,但是最后一个CLR项目一般用屌net的c#,不用c++,因为会使得编程变得更加复杂和不好用。
点击,出现一个对话框,使用MFC向导,这里主要以mfc项目为例子。选择MFC应用程序,因为我们做的是程序,然后输入项目名称,之后选择程序的位置。
最后一步,必要的时候,我们可以设定和项目不同的解决方案名称。不要小看这个细节,这个操作是管理大型项目的基础,比如我们的一个项目,里面有数据库,应用程序,网页等等,比如什么收费,管理系统等,这时候我们可以考虑单独建立一个解决方案的目录,而这个项目来作为里面的一个项目。
都弄好了,确定出现新的对话框,进入MFC的使用向导,里面有当前项目的默认设置
当前项目设置如果符合自己的口味,那就完成,不符合再点击下一步。这里微软的软件有很好的交互性的体现!那就是虽然为初学者设立了下一步的机制,比如我们有5步,这种傻瓜似的向导可以指引我们一步步的去操作,然后完成。但是当我们熟悉了,或者是个老手,反而会觉得麻烦,所以微软在vs里每一步的旁边都有个完成,这样我们可以直接跳过,一步到位就好。
这四类应用程序的类型,基本囊括了所有的软件界面的样式,比如一些录入系统,OA,管理系统,类似于office的软件,界面相对简单,比如word,一出来就是稿纸,然后是工具栏,其他的就没有了,提现是纯粹输入的软件,界面反而比较简单,只需要给用户提供丰富的键盘接口即可,所以在office软件里快捷键就很丰富。再比如,国产安全软件360,就可以说是多个顶级文档的软件,核心意思就是由多个顶级窗口组成的应用程序的框架。
然后注意unicode库,还有文档视图结构支持。
如果不习惯,就去掉钩子也行。建议不论是vc++6.0转来的还是初学者,都建议使用unicode,因为windows NT内核现在基本都是unicode版本的,很少有ANSI的,如果不用unicode字符,使用ANSI的,这样会有性能损失,中间有一个字符转换。故最好都是使用unicode字符。
关于MFC的使用,一般使用第一个,只有在特殊情况下使用静态库版本的,即当我们的程序发布安装比较简单的时候,我们使用静态库版本的,因为他不依赖动态库。那么这个在最终的应用程序发布的时候是很有用的一个特性。我们不需要考虑程序发布之后,能不能在机器运行的问题,因为他不会出现少动态库的问题。
在然后,就是复合文档的支持,这个比较高级了,比较复杂。简单介绍下:
复合文档(OLE)是一种机制,许可用户创建和编辑包含由多个应用程序创建的项或者“对象”的文档。比如,我们在word文档里,可以拷贝粘贴进excel表格,这个word文档就变为了一个复合文档,里面就要excel创建的项。
OLE最初是对象链接和嵌入的首字母的缩写,但是现在被称为OLE(Object linking and embedding),OLE中和链接和嵌入无关的部分,现在已经成为了Active技术的一部分,比如,当我们直接去双击word文档里的那个小小的excel表格,就会激活excel,而不需要再回到excel把这个表格编辑完,直接现场编辑即可。
复合文档无缝的集成了各种类型的数据或者组件,比如我们看到的还是一个word文档。MFC中支持复合文档的类是COleDocument及其派生类。
接下来的比较重要的是文档模版字符串选项,核心功能就是指定一下文档的后缀扩展名。比如word肯定是关联doc或者docx这样得文档,音乐文件关联mp3。建议中文多些,因为我们的用户不一定都是懂英文的,要交互的好,为用户着想。
有几个地方,最好使用中文,如红线标出的。
文件类型全程,建议英文,因为这里是以后注册表里的表项。
然后还有数据库的支持,这里数据库的支持使用的是ODBC数据库接口,或者OLE DB。
ODBC = open database connectivity开放数据库互连,时间非常久远了。这是微软公司中开放服务结构中有关数据库的一个组成部分(WOSA,windows open services architecture)。它建立了一组规范,并且提供了一组对数据库访问的标准API,这些API利用sql语句来完成大部分任务。目的是搭起一个应用程序到数据库的一个桥梁,这个桥梁来传递数据。ODBC本身也提供了对sql语句的支持,用户也可以直接将sql语句送给ODBC。
mfc中有比较完整的ODBC接口的封装类(主要是CDatabase,CRecordset,和后期一个新的类 CRecordView),虽然MFC提供了对ODBC的一个完整的支持,但是如果真的开发数据库应用,最好选择OLE DB,因为ODBC配置管理比较复杂,扩展性比较差些,比起OLEdb。
ODBC驱动由厂家来提供。
往下是用户界面功能选项,可以设定系统级和细节的界面风格,这步受到在项目类型中设定的整体界面风格影响。可以选择很多选项。这和前面的项目类型的那一步是关联的。
在主框架样式里,注意下,有个最大化,选定了,这样当程序启动的时候,出来就是最大化的。如果向导忘记选了,也没事,那就再弄一个新的项目,成最大化,然后看这个大小和代码,再自己比较代码,自己写和设定。反复生成多个项目,反复比较代码。这是一个技巧。
然后是看高级功能选项。
第一个就是区分上下午的帮助,其实很多国产软件都没注意这个,也行是一个习惯,就是可能是开发团队人员配置不齐,美工很少,或者测试很少甚至都没有,都是开发的。
其实完整的开发团队,更多的应该是辅助人员,开发的应该占据少数,有专门写文档的,测试的,架构的,美工的,安装打包发布的人员,这才是完整的团队。
或者可能是这些团队的只是习惯写代码,不习惯写帮助。
很多时候不完善的开发团队里,程序员有很多角色,既是美工,又是编写文档,还开发,兼顾测试。
还有一个重要的就是windows套接字。WinSock是巴克利套接字标准在windows系统的实现。
套接字本质是一组和具体网络协议无关的网络编程接口。称作socket。
socket可以调用多中协议(tcp/ip,ipv4、v6,AppleTalk,IPX,IrDA等)
WinSock包含了巴克利socket风格的标准函数,还包含了一组windows扩展函数(最好是熟练掌握),使得程序员能够利用windows消息机制进行编程。
MFC包含的是WinSock1.1库的封装(CSocket,CAsyncSocket 异步)。比较老了。
目前windows平台上较新的WinSock版本是2.2版。
还有ActiveX控件。ActiveX是微软提出的一组利用COM(Component Object Model,组件对象模型)技术的一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。
最后一个是生成得类,可以查看类清单,比如可以更改视图类的基类,从而改变视图类的显示特征。
主要是view类,基类是CView。
这基本就设置完了。