0

C++/MFC で作成された Windows Mobile 5 アプリケーションの任意のメニュー項目に対して、ユーザー定義可能なキーボード ショートカットを提供するルーチンを作成しています。これを行うために、使用可能なすべてのメニュー コマンド ID を取得し、CWnd::PostMessage(WM_COMMAND,MyMenuID) を使用してそれをアプリケーションに投稿しています。私はこの手法を使用して、スレッド間通信の他の場所で効果を上げていますが、メニュー コマンド ID では使用していません。これが機能しない理由についてのアイデア。アプリはドキュメント ビューで、CMainFrame および CView の派生ウィンドウに投稿しようとしました。私はひどいスイッチステートメントを書くことができましたが、メッセージを投稿することはうまくいくはずです.

編集:わかりました、この投稿からの提案を含め、多くのことを試しましたが、役に立ちませんでした。今のところ大きないスイッチステートメントです。もっと良いものが見つかったら、もう一度更新します。

4

1 に答える 1

2

私が考えることができる唯一の理由は、メッセージが間違ったウィンドウに送られていることです。すべてのメニュー コマンドが常に特定のウィンドウで処理されるわけではないことを忘れないでください。Cut などの一部のメニュー コマンドは、通常、ビュー ウィンドウによって処理されます。フレーム ウィンドウによって処理されるものもあれば、アプリケーション オブジェクトによって処理されるものもあります。

お役に立てれば。

于 2009-03-23T07:50:26.873 に答える