MFC编程案例chapter019.pdf
《MFC编程案例chapter019.pdf》由会员分享,可在线阅读,更多相关《MFC编程案例chapter019.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下载下载附录D 开发中注意事项还剩下一些问题没有讨论,下面这些问题虽然与 V C+或M F C类库无关,但在应用创建一个应用程序时,也是同样重要的。设置Developer StudioDeveloper Studio可以轻松地设置为符合个人开发应用程序的标准。这里我们将讨论其中的一些选项。调试有一些资源可以用来调试应用程序,除了在运行应用程序的调试版时明显可用的交互调试器外,还可以调用框架、DEVELOPER STUDIO,甚至M F C类函数以及第三方运行调试器。组织和建立工程如果应用程序只是一个执行文件,而没有附加的 D L L文件时,则你可能停留在工程的工作空间范围内。然而,如果应用程序
2、涉及多个库和多个执行文件时,则需要考虑建立和维护工程的策略问题。Microsoft 命名习惯这里讨论M i c r o s o f t坚持的某些非正式的和完全自愿的变量命名习惯。S p y i n gS P Y.E X E是潜在的工具,它不仅可调试自身的应用程序,而且也作为一种“监视”其他应用程序的方法,以推算出他人是怎样执行他们的界面的。其他例子资源除了本书例子以外,我们还介绍可以参考的其他例子资源,这些资源可能有一个或多个打算在应用程序中用 MFC VC+执行的例子。D.1 设置Developer StudioD.1.1 激活其他应用程序Developer Studio可在To o l s
3、菜单中添加定制菜单命令,在环境内运行其他应用程序,方法如下:1)单击To o l s/C u s t o m i z e菜单命令,以打开C u s t o m i z e属性表。2)选择To o l s选项卡,并滚动到菜单列表的底部(Developer Studio应该已经在该菜单中预装了几个命令)。3)选中底部的空白焦点矩形,并输入需要在菜单中显示的名字;按回车键将打开三个编辑框,分别是C o m m a n d、A rg u m e n t s和Initial Directory。4)在C o m m a n d中,输入要运行的执行文件的路径名。5)在A rg u m e n t s中,输
4、入传递给执行文件的参数。6)在Initial Directory中,输入运行该命令前Developer Studio应该改变的目录。可把下面的命令添加到To o l s菜单:E x p l o r e r命令使Windows Explorers最初在工程目录中打开。菜单名字输入到E x p l o r e r中。命令输入C:Wi n d o w s e x p l o r e r.e x e或C:Wi n n t e x p l o r e r.e x e(根据操作系统而定),参数输入/e,并使初始目录(Initial Di r e c t o r y)为空白。D O S命令打开一个初始在工程
5、目录下M S-D O S窗口。菜单命令输入M S-D O S,命令输入附录D 开发中注意事项331下载C:Wi n n t S y s t e m 3 2 c m d.e x e或C:Wi n d o w s c o m m a n d.e x e(根据操作系统而定),没有参数,在初始目录中输入$(当前目录)。E d i t o r命令打开一个第三方文本编辑器,并传递当前选中的文件名到该编辑器;虽然环境提供的文本编辑器是相当有效的,但市场上还有一些更加好用的编辑器。在菜单命令中输入E d i t o r,在命令中输入编辑器的路径,在参数中输入$(FileName)$(FileExt),在初始目
6、录中输入$(WkspDir)。当执行任何一个这样的菜单命令时,Developer Studio保存所有的文件,以便即使在调用该外部编辑器前修改了一个文件,打开该文件时,还是可以编辑它的最新版本。D.1.2 工具栏按钮Developer Studio允许配置工具栏中的按钮。1)单击To o l s/C u s t o m i z e菜单命令打开C u s t o m i z e属性表,并选择C o m m a n d s选项卡。2)可以把按钮组框中所示的按钮拖到一个已有的工具栏中,或者拖到一个空白空间以创建一个新的工具栏。3)Category组合框改变可选的按钮选项。4)要删除一个按钮,把它拖回
7、到Property Sheet中。单击C o m m a n d选项页上的每个图标将显示它所代表的命令的说明。通过查看菜单本身,用户可以发现哪个预定义的图标与哪个预定义的菜单命令对应;显示在菜单命令边上的图标是它们的工具栏按钮。工具栏按钮可能代表的命令如下:添加到To o l s菜单的任何命令,通常以 7开始。因此,在该页的 To o l s目录中找到一个按钮图标,它具有一个小铁锤和一个 7在第一个命令的右下角。C l a s s Wi z a r d,该命令可以在Vi e w目录下找到,一个具有巫士魔术棒的三角形。Open Wo r k s p a c e命令是一个最常使用的命令,但没有默认
8、的工具栏按钮;可以通过选择All Commands目录为该命令创建一个按钮;在 All Commands目录中,可以看到所有Developer Studio命令的一个详细列表;滚动目录直到接近底部找到 Wo r k s p a c e为止;拖动该选项到工具栏上的一个位置。因为该命令没有一个默认的工具栏图标与之关联,S t u d i o会提示一个可以分配给该按钮的常规图标的列表;还可以选择在按钮中包括菜单命令的名字。注意按自己的意愿定制S t u d i o后,应立即退出,因为对工具栏和菜单所做的改变直到退出S t u d i o时才能保存,如果S t u d i o在正常退出前崩溃,则所有改
9、变将无效;此外,还要注意一次运行多个 S t u d i o实例的情况,确保最后一个退出的 S t u d i o是需要改变的Studio。因为,最后退出的Studio决定最终改变Studio配置。D.2 调试大多数调试工作可以通过 S t u d i o的Text Editor界面完成,参见M F C文档可获得更详细的内容。然而,还有其他一些资源可以用来调试代码,下面介绍一些。D.2.1 TRACE()如果应用程序是时间或序列敏感的,可能需要打印出调试消息,而不用交互式调试器单步执行通过一个关键部位;过去,程序员用 printf()语句把调试消息打印到打印机或磁盘文件上;现在应用程序框架提供
10、了一个与 printf()命令相当的TRACE()函数,但是TRACE()直接打印到S t u d i o的D e b u g窗口。它要求打印字符不超过5 1 2个,一个例子如下:注意 在语句结束时一定要用换行符(n)!TRACE(Integer=%d,String=%sn,i,sz);A f x Tr a c e E n a b l e d=FALSE;/turns off all TRACE()statements注意TRACE()语句在应用程序发行版中有问题时,如果问题只出现在发行版中,则必须改用printf(),还可以用下面即将讨论的AfxMessageBox()。D.2.2 AfxM
11、essageBox()如果问题只出现在没有安装 Developer Studio的操作系统上的应用程序中,或只出现在应用程序的发行版中时,除了在软件中用 printf()外,还可以考虑使用AfxMessageBox();可以格式化一个消息或创建一个静态消息,用以指示应用程序通过一个关键部位时的过程,并用AfxMessageBox()显示这些消息;AfxMessageBox()甚至可以不必在一个控件窗口的类中,或者根本不必在一个类中。D.2.3 ASSERT()和VERIFY()另外两个用来检查工作的全局函数是 A S S E RT()和VERIFY(),这些宏通常用来检查传送到一个函数的参数是
12、否合法。如果这些参数来自用户的输入,可能还要用 AfxMessageBox()显示某种错误消息;但是,如果该参数源于应用程序的其他部分,则可以使用具有更小系统开销的A S S E RT()和VERIFY(),M F C库用A S S E RT()和VERIFY()防止任何愚蠢的错误导致奇异的结果。在应用程序的调试版中,A S S E RT()和VERIFY()核查一个合法的C或C+表达式,如果不是T R U E,则显示一个错误消息并退出应用程序;在应用程序的发行版中,A S S E RT()不做任何事情甚至不核查括弧内的表达式,VERIFY()虽然核查表达式,但如果发现错误,还是不能停止应用程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 编程 案例 chapter019
限制150内