友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

深入浅出MFC第2版(PDF格式)-第94章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




                   第篇    欲善工事先利其器 



                   #016     case CFileException::diskFull : 

                   #017          Output(〃Disk Full〃); 

                   #018          break; 

                   #019     case CFileException::fileNotFound : 

                   #020          Output(〃File Not Found〃); 

                   #021          break; 

                   #022     case CFileException::hardIO : 

                   #023          Output(〃Hardware Error〃); 

                   #024          break; 

                   #025     case CFileException::lockViolation : 

                   #026          Output(〃Attemp to lock region already locked〃); 

                   #027          break; 

                   #028     case CFileException::sharingViolation : 

                   #029          Output(〃Sharing Violation load share。exe〃); 

                   #030          break; 

                   #031     case CFileException::tooManyOpenFiles : 

                   #032          Output(〃Too Many Open Files〃); 

                   #033          break; 

                   #034   } 

                   #035 } 



                   让我简单地做一个说明。TRY 区块中的动作(本例为开档、写档、关档)如果在执行时 



                   期有任何exception 发生,就会跳到CATCH 区块中执行。CATCH 的第一个参数是 



                   exception type:如果是文件方面的exception,就是CFileException,如果是内存方面 



                   的exception,那么就是CMemoryException。CATCH 的第二个参数是一个对象,经由其 



                   资料成员m_cause,我们可以获知exception 的发生原因。这些原因(如accessDenied; 



                   badPath; diskFull; FileNoteFound… )都定义于AFX。H  中。 



256 


…………………………………………………………Page 319……………………………………………………………

                                     第4章    Visual C++  整合性軟體開發環境 



程序代码产生器:AppWizard 



      有一个Generic 范例程序,号称为「Windows 程序之母」,恐怕大家都是从那里跨出 



      Windows 程序设计的第一步。过去,当我要开始一个新的project ,我就把Generic  的所 



      有文件拷贝到新的子目录下,然后改变文件名,然后把makefile  中所有的〃GENERIC〃 字 



      串改为新project 名称字符串。我还必须改变C 文件中的窗口类别名称、窗口标题、菜单 



      名称、对话框名称;我必须改变RC 文件中的菜单、对话框等资源;我也得改变DEF 档 



      中的模块名称和DESCRIPTION 叙述句。这些琐碎的事做完,我才开始在DEF 、C、RC 



      档中添骨添肉。 



      数以打计的小步骤要做!! 



      有了AppWizard ,这些沉闷而令人生厌的琐碎工作都将自动化起来。不止如此,AppWizard 



      可以为我们做出一致化的骨干程序出来。以此种方式应付(我的意思是产生)标准接口 



      十分合适。 



      你可以从Visual C++ 整合环境中激活AppWizard 。第一次使用时机是当你要展开一个新 



      的project 之时。首先,为project 命名并为它找一个栖身场所(一个磁盘目录),然后 



      选择你想要的程序风格(例如SDI 或MDI )。问答题作完,劈哩啪啦呼噜哗啦,AppWizard 



      很快为你产生一个骨干程序。这是一个完整的,不需增减任何一行码就可编译执行的程 



      式,虽然它什么大事儿都没做,却保证令你印象深刻。外观(使用者接口)十分华丽, 



      Win32 程序员穷数星期之心力也不见得做得出这样漂亮丰富的接口来。 



                                                                 257 


…………………………………………………………Page 320……………………………………………………………

              第篇    欲善工事先利其器 



           东圈西点完成 MFC 程序骨干 



              选按【File/New】,并在【New】对话框中选择【Project】附页。然后再在其中选择MFC Application 



               (exe),于是准备进入AppWizard 建立〃Scribble〃 project。右边的磁盘目录和project 名称 



               亦需填妥。 



258 


…………………………………………………………Page 321……………………………………………………………

                                       第4章    Visual C++  整合性軟體開發環境 



MFC AppWizard 步骤一,选择SDI 或MDI 或Dialog…based 程序风格。预设情况是MDI。 



MFC AppWizard 步骤二,选择是否需要数据库支持。预设情况是None。 



                                                                           259 


…………………………………………………………Page 322……………………………………………………………

               第篇    欲善工事先利其器 



                MFC AppWizard 步骤三,选择是否需要pound document 和ActiveX 支持。预设情况下支持ActiveX 



                Controls,本例为求简化,将它关闭。 



                注意,在VC++ 4。x 版中此处为OLE Automation 和OLE controls。 



               MFC AppWizard 步骤四,选择使用者接口。预设情况下【Context Sensitive Help】未设立。 



260 


…………………………………………………………Page 323……………………………………………………………

                                       第4章    Visual C++  整合性軟體開發環境 



MFC AppWizard 步骤四的【Advanced】带出【Advanced Options】对话框: 



把上图修改为下面这个样子。这些修改对程序代码带来的变化,将在第7章中说明。 



                                                                           261 


…………………………………………………………Page 324……………………………………………………………

               第篇    欲善工事先利其器 



               MFC AppWizard 【Advanced Options】的另一附页。其中最上面的一个核示钮【Use split window】 



               预设是关闭状态。如果要制作分裂窗口(如本书第11 章),把它打开就是了。 



               MFC AppWizard 步骤五,提供另一些选项,询问要不要为你的源代码产生一些说明文字。并询问你 



               希望使用的MFC 版本(动态联结版或静态联结版)。 



262 


…………………………………………………………Page 325……………………………………………………………

                                       第4章    Visual C++  整合性軟體開發環境 



MFC AppWizard 步骤六(最后一步),允许你更改档名或类别名称。完成后按下【Finish】 



MFC AppWizard 获得的清单(包括文件和类别): 



                                                                           263 


…………………………………………………………Page 326……………………………………………………………

               第篇    欲善工事先利其器 



               一行程序代码都还没写,就获得了这么多文件。你可以选择【Win32 Debug】或【Win32 Release】来 



               建造(building)程序,获得的二进制文件将放在不同的
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!