形,就是(left,top,right,bottom)
CSize大小,就是(cx,cy)对(宽、高)
用好MSDN和例子
作为提高,推荐看的例子有:
nHello最简单的程序框架
nScribble鼠标绘图。教程:编程基础,GDI
nDiblook图像处理最简单范例
nMFCIE因特网浏览器
nEnroll数据库
nDaoviewDao(数据访问对象)范例。树型和列视控件
nCubeOpenGL范例,画一个不断旋转的方块
nHierSvrOLE服务器
nOclientOLE包容器
nDrawcli鼠标绘图。也包括OLE。
nWordPad写字板。OLE
几点经验
A.为什么要用Windows而不是DOS编程
Windows编程并不比DOS编程难很多,只是在刚刚接触的时候感到头绪繁多,不知从何下手。实际上,如果你会C语言,你会发现Windows编程的难度并不比当年学C语言时大。DOS编程要想成为高手,也需要学习几百个函数(无论是TC、BC、MicrosoftC),并要深入了解汇编语言级的DOS功能调用。而现在在Windows下,付出相同的工作量,你却可以获得几倍的收益。如果你以前熟悉DOS编程,现在再搞Windows编程,只要两个星期肯定会感到巨大的优越性:在DOS下,每一件事都要自己干,而且还有64K内存、显示精度等的限制,实在是事倍功半了。
B.为什么要用VC而不是其他Windows编程语言
>大多数大型软件(包括Windows自己)都是用C、C++编的,所以可以利用的源代码特别多。例如Photoshop,就有VC的编程接口。的其他的语言都不如VC有历史优势。而且VC的开发工具特别多,从控件公司到硬件开发商,其产品很少敢不提供VC接口的。
>VC适合组织大工程(VB就不行)
>BorlandC++或C++Builder也很不错,并不比VC差。但BC的版本兼容性不好,从3.1到4.0就出现“代沟”,而且VC提供了极为丰富的文档和范例,VC的参考资料也远比BC多。并且VC与其他的VisualStudio成员可以协调工作,对软件工程有利。
C.开始不要学WinAPI编程,但以后最好学学WinAPI
特别要注意,开始不要买讲WindowsSDK编程的书。一个臭名昭著的例子就是“HelloWorld”。各种
计算机语言在入门课中往往都给出一个例子,显示一行文字“HelloWorld”,无论是在Basic、C、Pascal,甚至汇编中,这个最简单的小程序都几行就可以写完。但在早期的Windows编程中,刚才讲到的“HelloWorld”这个有名的例子就要组织一个工程、写上几百行代码才能实现。这就吓跑了很多想学Windows编程的人。实际上,在Windows下显示“Helloworld”,最简单的方法只要5行就够了:
#include“windows.h”
voidWinMain()
{
MessageBox(NULL,”HelloWorld!”,”MyFirstWindowsApplication”,MB_OK);
}
当然这个程序只建立了一个最简单的对话框,但这已经够了。
如果你没有SDK编程的经验,学VC就是要利用MFC绕过Windows编程的许多细节。有好的工具为什么不用呢?现在你在VC写一个”HelloWorld”,只要写一行代码就可以了。
voidCYourView::OnDraw(CDC*pDC)
{
//…….其他的代码
pDC->TextOut(100,100,”HelloWorld!”);
}
但MFC不是万能的,WinAPI和VC中有很多功能在MFC中并不能反映出来。在入门后,要想发挥VC的完全能力,WindowsAPI还是非常重要的。而且,这些API在其他Windows语言中也用得到。
学语言,与练武道理也差不多。VC、VB、Delphi、VFP,以及其他的Windows编程语言,都属于同一个门派:Windows门,虽然招式不同,但内功都是一样的,这就是WindowsAPI(应用编程接口),大概是两千个函数。任何武功,招式即使再复杂,通常也能在很短时间内记下来;但内功就不是一朝一夕的事。而且,各门派的内功不同,Unix、Linux门有Uinx的内功,Apple(苹果)门有Mac的内功,Java更是自成一派。我们这里说的学VC,只是学招式,学招式一个月差不多就够了,聪明的两个星期就可以掌握。光学招式,吓唬人是够了,但和高手一过招,非出丑不可。要想精通VC,必须熟悉WindowsAPI。
D.高级语言与自然语言
一门高级语言与一门自然语言是类似的。关键要素有三:
语法:了解C和C++基本语法,这是比较容易的。
修辞:编程的艺术和风格。通常,这是与软件工程联系起来的。算法上的小伎俩并非是关键的。严谨,严格按照规范去做,同时又能发挥出极大的创造性,才是语言学家的本色。
词汇:如何利用别人的工作?如何利用自己以前的工作?这是一个软件工程师成功的关键。如果词汇量不丰富,就写不出好文章,就会有想法表达不出。一个人的语法在上小学之前就基本上学成了,修辞水平也在年轻时就确定了,惟有词汇量需要根据需要不断学习、不断扩充。VC编程中,拥有大的词汇量就意味着要掌握较多的类、函数和其他编程组件。如:WindowsSDK,MFC,以及你所专攻的领域的现成的SDK,比如3D编程中的OpenGL,多媒体编程中的DirectX,图像处理中的Victor库。另外,ActiveX控件的掌握往往也是成败的关键。我们这几年的工作也总结成了一个类库,叫IPX(图像处理框架),大大简化了图像处理的工作;不过现在还有很多细节问题要解决,如果有同学感兴趣可以参与这方面的工作。
学习VC,千万不要用我们在学校里学英语的方法,而要用小孩学说话的方法。所谓学英语的方法,就是我们在本科时学C语言的那种模式:详细搞懂每一个细节,背大量的规则,很少上机实践,没有实际问题供解决,最后由考试来断定学习成果。这种模式的后果大家都清楚:我们学了十几年英语,可有不少人还只会四五千个单词,写百把字的文章,不会说,不能听;尤其要命的是,看不懂VC的帮助文档。我们要象婴儿一样,在使用中学会语法、修辞和词汇;一开始肯定只能编出最糟糕的,就好像小孩开始只会说:“爸爸坐车车”;但“爸爸”“车车”这些词对小孩是最需要的,学习的效率反而最高。学VC的时候,应从我的需要出发,先做一个最简单的东西,然后一点一点复杂起来,象滚雪球一样。
学习VC尤其要和别人交流,你苦苦思考不明白的,也许别人早就解决了。一定要善于学习:从书店找出有用的书;向身边的高手学习;寻找可以利用的源代码、类库、组件、控件、库;如果能上互连网,那就更加能解决问题了。
================================================
Lchrennew:
以下内容由于曾经进行编辑替换(Replace)不让通过,所以采用附加(Append)的方式,在下面把我的版本加上,请大家对比:
VC是英文的缩写形式,其完整形式基本上包括如下几方面:
1. 医学、药品学、生物化学:Vitamins C,简写VC,音译“维他命C”,中文意译为维生素C,又被称为抗坏血酸。
1907年挪威化学家霍尔斯特在柠檬汁中发现。1934年才获得纯品,是无色晶体,属于水溶性维生素,易溶于水,水溶液呈酸性,所以称它为抗坏血酸。在酸性溶液中稳定,在中性或碱性溶液中易被氧化分解。铁、铜等金属离子能够加速其氧化速率。
维生素C在人体内的主要功能是:参加体内的氧化还原过程,促进人体的生长发育,增强人体对疾病的抵抗能力,促进细胞间质中胶原的形成,维持牙齿、骨骼