您现在的位置: 天极网 > 开发频道 > 微软开发专栏 > Visual C++.NET编程讲座之七
全文

Visual C++.NET编程讲座之七

2003-10-17 09:04作者:Adding出处:yesky责任编辑:方舟
  (4) 在MainFrm.h文件的前面添加下列代码,如图10所示的加框部分。


图10 在MainFrm.h中添加的语句

  不少人对上述语句不理解:既然使用了包含文件,为什么还要在class CMainFrame前添加"class CViewerView;"等代码?如果用包含文件代替它,行不行?

  很多Visual C++书籍对这些问题避而不谈,但实际上这是一个重要的问题。如果不能理解上述代码,我们很可能为无法通过编译而大伤脑筋。这些问题的出现是基于这样的一些事实:在我们用标准C/C++设计程序时,有一个原则即两个代码文件不能相互包含,而且多次包含还会造成重复定义的错误。为了解决这个难题,Visual C++使用#pragma once来通知编译器在生成时只包含(打开)一次,也就是说,在第一次#include之后,编译器重新生成时不会再对这些包含文件进行包含(打开)和读取,因此我们看到在用向导创建的所有类的头文件中有#pragma once语句就不会觉得奇怪了。然而正是由于这个语句而造成了在第二次#include后编译器无法正确识别所引用的类。因此,我们在相互包含时还需要加入类似class CViewerView这样的语句来通知编译器这个类是一个实际的调用。

  (5) 重新生成解决方案后运行程序,看看有没有出现编译错误,此时提示出SwitchToView1函数中,CViewerView和CWebView类无法构造,因为它们的构造函数是protected。

  (6) 分别在ViewerView.h和WebView.h文件中,将构造函数CViewerView()和CWebView()前面的访问方式改成public。再运行程序。

  (7) 为CMainFrame类添加一个int类型的成员变量m_nViewID,并将其初值设为1。

  (8) 为CMainFrame类添加菜单项ID_VIEW_TEXT的COMMAND和UPDATE_COMMAND_UI的事件映射,并在映射函数添加如图11所示的代码。


图11 ID_VIEW_TEXT的映射函数代码

  (9) 为CMainFrame类添加菜单项ID_VIEW_HTML的COMMAND和UPDATE_COMMAND_UI的事件映射,并在映射函数添加如图12所示的代码。


图12 ID_VIEW_HTML的映射函数代码

  (10) 运行程序,结果如前面图2所示。

共5页。 9 1 2 3 4 5 :

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众