0

私の問題は、ON_UPDATE_COMMAND_UIに反応する変更できないコードがあり、WinFormsでコードをホストしているため、メッセージが正しくルーティングされていないことです。

WinFormホストのアイドルオーバーライドに接続しましたが、メッセージを模倣する方法がわかりません。

ターゲットに直接メッセージを送信してON_UPDATE_COMMAND_UIを模倣したい場合、WPARAMとLPARAMをどのように配置しますか。

MFCの本質を調べましたが、実際にはメッセージを送信していないようです。コマンドをCmdTargetのメソッドを介してルーティングすることから、ターゲットのメッセージマップを手動で検索することまで直接行われます。

ですから、本当のメッセージをプッシュする例がないので、どうしたらいいのかわかりません。

代替ソリューションも同様に受け入れられます!

4

1 に答える 1

0

MFCの内臓を調べましたが、メッセージが送信されていないようです。

そのステートメントは正しくありません。すべてのルーティングは、アプリケーションがアイドル状態になると、メインウィンドウとすべての子孫に送信されるWM_IDLEUPDATECMDUIメッセージから始まります。

メニューがポップアップしてメニュー項目を更新するときにも送信されます。.NETの世界での実装は簡単ではないと思います。

于 2012-05-10T04:01:22.083 に答える