个文件中定义,就是我们今天要学的视图类。
要想看到 CMyAppView 类的全貌,应该用 Source Browser 查看,选择CMyApp01View,按 AltF12,选择 Base Class and Members 选项。
我们会看到 CMyAppView 类的层次关系(从哪来得),以及所有成员函数,包括从基类继承的(在 Class View 中不能显示父类的成员函数)。
我们发现实际上你什么也不用做就拥有了一个有着强大功能的类。
下面我们看一下 CMyAppView 类的 OnDraw 成员函数,它是虚函数作用是每当窗口需重绘时应用程序框架会调用它。
它的原型是这样的(在 myapp01View.h 可以找到)virtual void OnDrawCDC pDC // overridden to draw this view参数是 CDC 类的指针,WINDOWS 是通过和窗口相关联的设备环境(CDC 类的对象就是设备环境)和显示硬件进行通讯。
有了这个指针我们便可以调用 CDC 类的成员函数来完成各种绘制工作,如上一篇用到的textout还有一些 Ellipse、Polygon、BitBlt等等在 MSDN 中有好长的一篇,它是直接从 CObject 派生的,好了我们开始在 OnDraw里添加一些绘图工作。
3、在 Class View 选择 CMyApp01View 类的 OnDraw成员函数双击会在 C编译器看到以下内容void CMyApp01View::OnDrawCDC pDC CMyApp01Doc pDoc GetDocument ASSERT_VALIDpDoc // TODO: add draw code for native data here在 // TODO: add draw code for native data here 的位置增加一行代码void CMyApp01View::OnDrawCDC pDC CMyApp01Doc pDoc GetDocument ASSERT_VALIDpDoc pDC-gtTextOut1010quot雷神愿意和所有学 VC 的朋友共同进步!quot pDC-gtSelectStockObject DKGRAY_BRUSH //选择刷子 pDC-gtEllipse CRect2040120140 //画圆,CRect 是 MFC 库提供的一个表示 WINDOWS 矩形类 pDC-gtRectangle CRect220240120140 //画矩形 // TODO: add draw code for native data here编译运行,成功了吧。
先到这吧。
另外以后的文章将同时贴在写作区。
第四篇:资源和编译资源文件(就是以应用程序名和扩展名是.rc 的文件)很大程度上决定了应用程序的用户界面。
在 VC中资源文件包括以下内容:Accelerator //模拟菜单和工具栏的选择内容Dialog //对话框的布局及内容Icon //图标有两种一种是 16X16 一种是 32X32。
Menu //应用程序的主菜单及所属的弹出式菜单String table //字符串不属于 C源代码部分Toolbar //工具条。
Version //程序的描述、版本号、支持语言信息。
以上信息都在.rc 文件中包含,同时.rc 文件还包含了以下语句:include quotafxres.hquotinclude quotafxres.rcquot它们的作用是把适合于所有应用程序的一些通用 MFC 库资源包含进来。
关于资源编辑器的使用就不多说了,因为它的操作很简单,需要注意的是虽然 resource.h 是一个 ASCII 码文件可以用文本编辑器进行编辑,单如果使用文本编辑器进行编辑的话,下次再使用资源编辑器时所做的修改有可能丢失,所以我们应该在尽量在资源编辑器中编辑应用程序的资源,新增的资源内容回自动的添加在我们的程序相应位置,例如 resource.h 而不用我们操心。
这便是为什么称为 Visual (可视)的原因之一。
编译在 VC中有两种模式,一种是 Release Build 另一种是 Debug Build。
它们之间的区别在于, Release Build不对源代码进行调试,不考虑 MFC 的诊断宏,使用的是 MFC Release 库,编译十对应用程序的速度进行优化 它允许对源代码进行调试, ,而 Debug Build 则正好相反, 可以定义和使用 MFC 的诊断宏,采用 MFC Debug库,对速度没有优化。
所以我们应该在 Debug 模式下开发应用程序,然后在 Release 模式下发布应用程序。
在我们的工程文件夹下会有一个 Debug 文件夹和一个 Release 文件夹分别存放输出文件和中间文件。
诊断宏是我们编译程序时检测程序状态的有利工具,例如上两篇用到的 TRACE 宏,可以在 Debug 窗口获得你需要的诊断信息,而不用设置对话框之类的方法,在发布时 Release 会自动滤掉此信息。
实际上对一个应用程序的调式是一件很具挑战的工作,我相信我们都有类似的经历,从网上或书本上找来了一段代码或源程序,当我们一点点将他们敲进 Deleloper Studio 后进行编译时一下子出现了无数的错误和 (有些书的源代码就是错误的)这是需要的耐心和经验,有了 VC提供的调试工具如诊断宏、设断警告,点、单步执行等等,会让我们省不少力气。
至于编译的话题其实应该有很多可以说,但由于雷神本身的经验不足只能把书上所讲的作一个总结,大家应该熟练的掌握 VC为我们提供的的各种调试工具,象 SPY之类的工具在 MSDN 中也有很详细的使用帮助说明,到现在我体会到了高手们所说的 MSDN 是最好的最全的也是最权威的。
第五篇:基本事件处理我们已经知道 MFC 库应用程序框架调用 CView 视图类的虚函数 OnDraw 来完成屏幕显示。
其实 CView 和CWnd 类包含了几百个成员函数,在 MSDN 中可以看到这些成员函数,其中有许多 On 开头的,例如第二篇的例子就有一个 OnLButtonDown,它们都是应用程序框架响应各种事件所需调用的函数。
OnDraw 便是当窗口发生变化是被调用的,OnLButtonDown 是鼠标左键被按下时调用,还有 OnKeyDown 是键盘被按下时调用等等.
上一篇:
【精品】VC开发平台简介
下一篇:
多年来只想说一句,我不怪你