0

我正在使用 MFC MDI。我创建了一个窗口主文档窗口。我创建另一个窗口(我们称之为第二个窗口)作为 MDI 窗口视图的子窗口,然后创建第二个窗口的子窗口(第三个窗口)。我再次需要创建另一个窗口,第三个窗口的子窗口。我在功能区上有一个按钮,我想在第三个窗口中调用消息处理程序来处理这个命令。我添加了消息映射和所有必需的东西,但它没有调用消息处理程序。如果我在 MDI 窗口视图中定义消息处理程序,它会捕获事件。如果我不在我的主 CWinApp 类或 MDI 窗口视图类中取消消息处理程序,则该按钮将显示为禁用。

我所有的子视图类都是从 CWnd 继承的,主 MDI 窗口是从 CView 派生的。请让我知道我在这里缺少什么。

萨巴

4

2 回答 2

0

我在这里不知所措。您正在使用 MFC;为什么使用事件?使用命令消息和命令消息处理程序代替事件。使用 MFC 实现且运行良好的命令路由。

于 2012-09-26T01:21:08.287 回答
0

MFC 不会将通过单击功能区按钮生成的消息路由到子窗口。如果我们想向 MDI 窗口的子窗口发送消息,我们需要自己做。功能区按钮的消息要么传递给活动的 MDI 窗口,要么传递给 CWinApp 类。

于 2012-09-26T16:15:29.753 回答