- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC学习笔记.
在前面: 站长所看的『VC++技术内幕』版本为--潘爱民和王国印译清华大学出版的第四版,因有时工作忙碌,不能及时更新,请大家见谅!
第一天 Windows的编程模式 第二天 MFC应用程序框架 第三天 消息映射和视图类 第四天 资源和编译 第五天 基本事件处理 第六天 映射模式 第七天 滚动视窗 第八天 社备环境类 第九天 GDI对象 第十天 windows颜色映射 第一天 Windows的编程模式 Windows程序中必须要有WinMain函数,因为该函数最重要的任务是创建该应用程序的主窗口。Windows程序与基于MS-DOS程序的最大差别就在于:MS-DOS程序是通过调用操作系统的功能来获得用户输入的,而Windows程序是通过操作系统发送的消息来处理用户输入的。Windows消息都是经过严格定义的,并且适用于所有的程序。 WINDOWS提供通用的图形设备接口(GUI),我们通过调用(GDI)函数和硬件打交道,不必理会设备环境,WINDOWS会自动将设备环境结构映射到相应的物理设备。 Windows程序设计中所需要的数据是存储在资源文件中的,这样,连接器就可以把编译好的二进制代码和二进制资源文件结合起来生成可执行程序。资源文件可以包括位图、图标、菜单定义、对话框设计,甚至可以包含用户自己定义的格式。 Windows程序允许动态的连接目标模块,并且多个应用程序可以共享同一个动态连接库。VC++的源程序浏览器能够使我们从类或函数的角度来了解或编辑程序,而不是直接从文件入手。在看别人的源代码时如果能熟练的使用源代码浏览器将会事半功倍。源程序浏览器主要的查看状态有以下几种:Definitions and References--选择任何函数、变量、类型、宏定义可以看到它在项目中的定义,并且在何处和什么地方用到它。Call Graph/Caller Graph--对于所选择的函数,给出它的调用与被调用函数的图示。Derived Class Graph/Base Class Graph--给出类层次关系的图形表示,可以看到所选择的类的派生类和基类以及成员。File Outline--对于所选的文件,列出文件中的类、函数和数据成员,同时还显示它们定义的位置和使用位置。 可见Source Brower比起Class View来功能多了很多也更加好用。 对于本章学习loose_went建议大家在VC++6中用AppWizard生成一个空的程序,然后试着看看都有哪些文件,和他们的类层次、函数、宏、结构的定义,我就是这样干的,学编程不动手是不行的。
Top of Page 第二天 MFC应用程序框架?MFC是C++的Microsoft Windows API?MFC产生的应用程序使用了标准化的结构。?MFC产生的应用程序短而运行速度快。?VC++工具降低了编码的复杂性,这当然了,很多代码都由它代劳了,呵呵。?MFC库应用程序框架的功能非常丰富。 以上说的都是MFC库的优点,虽然说MFC有着这样多的优点,但我个人认为不能盲目的学习它,要想学好,那么您必须先掌握C++,这是毋庸置疑的。可能刚开始的时候,您觉得收获很大,也很有趣,但要进一步提高,没有C++基础是很难的。所以站长建议大家学习的时候要有先有后,这样才能学好!应用程序框架是一种类库的超集。 我们现在先来看一个例子,看看MFC有多么强大!您只需加一行代码,甚至一行都不用加只需要点几下鼠标就可以创建一个windows 程序,不信,试一下:1、打开VC++6从菜单选择NEW,给项目命名为MyApp 。2、选择MFC AppWizard[exe] 选项,除STEP 1选择单文档外其他STEP缺省。3、在Class View选择CMyAppView类的OnDraw()成员函数双击会在C++编译器看到以下内容
void CMyAppView::OnDraw(CDC* pDC){CMyAppDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data here}在 // TODO: add draw code for native data here的位置增加一行代码void CMyAppView::OnDraw(CDC* pDC){CMyAppDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);pDC-TextOut(10,10,愿vc在线能成为您学习vc最好的朋友!); //增加的一行// TODO: add draw code for nati
文档评论(0)