1

私は HMENU を持っており、アイテムが特定の位置にあることを知っています。その情報を持っていると、次のようなことが可能になりRunMenuItem(hMenu,3)ます。

4

1 に答える 1

2

メニューから項目を選択すると、次の2つのいずれかが発生する可能性があります。

  • メニュー項目IDを含むWM_COMMANDメッセージがメニューの親ウィンドウに投稿されます。
  • メニューがフラグ付きで表示された場合、TrackPopupMenu TPM_RETURNCMD呼び出しの結果として、選択されたアイテムIDが返されますTrackPopupMenu

WM_COMMAND最初のケースでは、適切なパラメータを使用してメッセージを自分で投稿するだけで、プログラムでこれをシミュレートできます。HMENU(を使用して)メニュー項目IDを照会する必要がありますGetMenuItemInfo

2番目のケースでは、これをシミュレートする簡単な方法はありません。これは、呼び出し元のスレッドが実際に結果を呼び出しTrackPopupMenuて処理することに依存しているためです。

于 2012-12-09T20:17:43.810 に答える