0

我是 MFC 的新手。在我正在处理的项目中,对话框是在资源文件(.rc)中创建的。其中有确定按钮(id ID_OK)和帮助按钮(id ID_Help)。我无法找到这两个按钮的事件处理程序。还有其他按钮可以轻松找到映射的事件处理程序。如果有人教我如何找到那些事件处理程序,那将非常有帮助。

以及如何通过在 Visual Studio 中进行调试来找到单击特定按钮时调用的函数?

谢谢你。

4

2 回答 2

0
  1. 按钮没有像其他框架(如 C#、WinForms 等)中那样的直接事件处理程序。您必须在 MFC 中使用消息映射。
  2. ID_OK映射到虚函数CDialog::OnOK,你可以只写你的虚函数实现。框架会为你调用它。您还可以使用WM_COMMAND消息条目来处理此消息。
  3. 没有标准的资源 ID,因为ID_Help它始终是大写字母,并且必须始终大写!不过,没有人会阻止您使用小写字母——它是为了保持一致性和更好的可读性。
  4. 与其摆弄资源文件(.RC 和 resource.h),不如将其映射到您的对话框类之类的东西上。我建议你去学习,没有资源文件。从画框开始(圆圈、实心三角形等)。了解并了解为什么某些消息存在虚函数,而其他(大多数)消息存在消息映射。

我的两分钱。

于 2013-04-02T17:58:18.940 回答
0

双击在 Visual Studio 的资源视图中打开的按钮(显示在 rc 中),您将被 Studio 自动放置在代码中事件处理程序所在的位置。

如果这不起作用,那么可能会在资源视图中删除带有 ID 的按钮,然后ID_OK使用ID_Help不同的 ID 再次将其添加到资源中,然后尝试通过在资源视图中双击这些按钮来生成事件处理程序。这是因为有时 ID 的值与其他 ID 值冲突,因此 Studio 在这种情况下无法为您生成事件处理程序。

于 2013-04-02T13:12:46.970 回答