0

我正在编写一个例程,为我的 Windows Mobile 5 应用程序中的任何菜单项提供用户可定义的键盘快捷方式,该应用程序使用 C++/MFC。为此,我获取所有可用的菜单命令 ID,并使用 CWnd::PostMessage(WM_COMMAND,MyMenuID) 将其发布到应用程序。我在其他地方使用这种技术对线程间通信有很好的效果,但不适用于菜单命令 ID。任何想法为什么这不起作用。该应用程序是文档视图,我尝试过发布到 CMainFrame 和 CView 派生窗口。我可以写一个糟糕透顶的 switch 语句,但我觉得发布一条消息应该可行。

编辑:好的,我尝试了很多东西,包括这篇文章的建议,但无济于事。大丑 switch 声明现在是,如果我发现更好的,我会再次更新。

4

1 回答 1

2

我能想到的唯一原因是消息进入了错误的窗口。不要忘记,并非所有菜单命令总是由特定窗口处理。某些菜单命令(如剪切)通常由视图窗口处理。其他的由框架窗口处理,一些可能由应用程序对象处理。

希望这可以帮助。

于 2009-03-23T07:50:26.873 回答