C++笔记五——ClassWizard工具的运用

VC编译程序时出现:

Cannot open precompiled header file: 'Debug/EX08.pch': No such file or directory
执行 cl.exe 时出错.

1、可以使用右键点击项目工程中的该cpp文件,选择setting,在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头,解决这个问题。

2、预编译头文件还没有编译。不用管它,直接点击Build(F7)按钮就OK了。

二、为一个类添加某个消息的处理函数的方法:

1、在CLassView标签页上,在该类名上单击鼠标右键,从弹出的快捷键上选择[Add Windows Message Handler...]命令,弹出添加消息处理的函数窗口。

2、利用ClassWizard工具实现,打开[View]菜单,选择[ClsaaWizard]菜单命令,弹出对话框,其中包含五个选项卡,分别为:Message Maps、Member Variables、Automation、ActiveX Events、以及Class Info。它们针对不同的对象完成不同的任务。1. Message Maps选项卡
它是ClassWizard对话框中最重要的选项卡,主要完成创建新类、添加、删除消息处理函数等任务。
该选项卡中包含了两个下拉列表框:Project下拉列表框和Class name下拉列表框;三个列表框:Object IDs列表框、Message列表框和Member functions列表框;一个文本信息框;四个工具按钮。

2. Member Variables选项卡
该选项卡主要用于添加与对话框中的控件相关联的成员变量,以便程序能利用这些成员变量与对话框中的控件进行数据交换。该选项卡与Message Maps选项卡一样,也包含Project下拉列表框和Class name下拉列表框,分别用于选定用户操作的当前项目和当前类;Add Class按钮用于向当前项目中添加一个新类;一个文本信息框,用于显示当前选中类的源文件。

本节将以EX08APP应用程序为例来添加消息处理函数,处理用户在视图中的单击鼠标操作。步骤如下:
(1) 首先打开EX08APP的项目工作区。
(2) 点击菜单项View|ClassWizard,进入ClassWizard对话框。
(3) 选择Message Maps选项卡,在Project下拉列表框中选择项目名EX08APP,在Class name下拉列表框中选择类名CFirstAppView。
(4) 在Object IDs列表框中选择对象ID为CEX08APPView。
(5) 在Message列表框中选择需要处理的消息为WM_LBUTTONDOWN,即按下鼠标左键消息。
(6) 此时会发现Add Function按钮已经可用。单击此按钮,ClassWizard将选中消息的处理函数添加到Member Functions列表框中。在本例中,对应WM_LBUTTONDOWN消息的处理函数是OnLButtonDown()。
(7) 最后单击OK按钮结束。
注意:当用户为一些标准的Windows消息添加消息处理函数时,ClassWizard一般会自动地为你创建一个默认的消息处理函数名。而当用户为非标准消息添加处理函数时,ClassWizard将弹出一个对话框,并给出一个缺省的函数名,用户可以重新命名该消息响应函数。
在Visual C++的主窗口中打开项目工作区的ClassView选项卡,并打开CFirstAppView类的成员列表,就会发现消息处理函数 OnLButtonDown()已经被添加进去了。
同时,通过查看文件,将会看到在CFirstAppView类的头文件 FirstAppView.h中新加了消息处理函数OnLButtonDown()的声明。
可以看到该函数体是空的,其中只调用了一个其父类的成员函数,并且ClassView为用户生成了一些重要的注释行,以提示用户在何处添加自己的代码。

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值