我正在使用 MFC 编写 Windows 程序。我在创建项目时使用了这些设置。
文件 -> 新建项目 -> MFC 应用程序
,在 MFC 应用程序向导中我选择了:
应用程序类型:基于对话框
资源语言:英语(美国)
使用 Unicode 库
项目风格:MFC 标准
使用 MFC:在静态库中使用 MFC
主框架样式:粗框,系统菜单和关于框打勾
高级功能:ActiveX控件,通用控件清单和支持重启管理器打勾
对话框标题:P2
生成的类:Cp2App和Cp2Dlg
我还没有在项目中添加任何代码. 我刚刚在表单中添加了控件:
但是当我尝试运行该项目时,我得到了错误:
1-error LNK2001: unresolved external symbol "public: void __thiscall CP2Dlg::OnBnClickedButton2(void)" (?OnBnClickedButton2@CP2Dlg@@QAEXXZ)
2-error LNK1120: 1未解决的外部问题
我知道我可以开始一个新项目来避免错误。但我想知道是什么原因导致这个问题并解决它?
注意:第一个错误出现在 P2Dlg.obj 中,第二个出现在 P2.exe 文件中。
编辑部分:实际上我认为这个错误是因为我不小心双击了Button2并创建了事件处理程序BnClickedButton2并将其删除。现在我尝试再次创建此事件处理程序,但我不能,因为当我右键单击 button2 并在事件处理程序向导中选择添加事件处理程序时,该选项BN_CLICKED
处于非活动状态。
我想知道如何解决这种问题。请帮帮我?
编辑的第 2 节:我在 P2.cpp 文件中添加了这个函数,Add EventHandler
但这并没有解决问题:
void CP2App::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
}
应该添加该功能CP2Dlg::OnBnClickedButton2
,但我无法添加它。不活动了??????