【发布时间】:2010-09-14 12:51:12
【问题描述】:
我最近将 MFC Visual Studio 6.0 项目转换为 Visual Studio 2010 项目,每当我尝试将事件处理程序添加到项目中某些窗体上的控件时都会遇到问题。在一个特定页面上,我有一个单选按钮,我尝试使用 3 种不同的方式向其添加单击事件处理程序:
1) 通过右键单击单选按钮并单击“添加事件处理程序”。此方法不会产生错误消息,但不会创建事件处理程序。它只是关闭了事件处理程序向导,没有任何类型的消息。
2) 通过右键单击单选按钮并单击属性。在属性窗口中,我单击事件窗口(闪电按钮)。然后我导航到点击事件并点击添加处理程序。此方法会生成一个错误消息窗口,显示“属性值无效”,下面框中的此错误消息的详细信息显示“灾难性故障”。
3) 通过类向导添加事件处理程序。这会产生与上面数字 1 中描述的结果相同的结果。
关于我的项目的说明:
1) 运行 Windows XP SP3
2) 并非所有表格都有这个问题。在某些表单上,我可以很好地添加事件处理程序。
3) 每当我收到“属性值无效”错误消息时,这也会破坏撤消/重做功能
4) 项目包含 FarPoint ActiveX 控件
【问题讨论】:
-
我建议将有问题的单个对话框的代码复制到同一解决方案中的新项目中。是否会发生同样的错误?
-
我将给我带来问题的表单的资源文件和 .h 和 .cpp 文件复制到同一解决方案中的新项目中,但我得到了与上述相同的错误。一件有趣的事情是,如果我只复制对话框的资源文件并为其创建一个新的 .cpp 和 .h 文件,我可以很好地添加事件处理程序。
-
由于几个不同的问题,我最终放弃了将这个 Visual Studio 6.0 项目升级到 2010 年。它非常接近工作,但我没有足够的时间来解决我的问题。我求助于在我的机器上安装了 Visual Studio 6.0 :*(。如果我弄清楚了,我会再次发布。
标签: visual-studio-2010 visual-c++ mfc