私は HMENU を持っており、アイテムが特定の位置にあることを知っています。その情報を持っていると、次のようなことが可能になりRunMenuItem(hMenu,3)ます。
1 に答える
2
メニューから項目を選択すると、次の2つのいずれかが発生する可能性があります。
- メニュー項目IDを含む
WM_COMMANDメッセージがメニューの親ウィンドウに投稿されます。 - メニューがフラグ付きで表示された場合、
TrackPopupMenuへのTPM_RETURNCMD呼び出しの結果として、選択されたアイテムIDが返されますTrackPopupMenu。
WM_COMMAND最初のケースでは、適切なパラメータを使用してメッセージを自分で投稿するだけで、プログラムでこれをシミュレートできます。HMENU(を使用して)メニュー項目IDを照会する必要がありますGetMenuItemInfo。
2番目のケースでは、これをシミュレートする簡単な方法はありません。これは、呼び出し元のスレッドが実際に結果を呼び出しTrackPopupMenuて処理することに依存しているためです。
于 2012-12-09T20:17:43.810 に答える