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