ショートカットメニューが表示されますが、私が何をしても、はメッセージを送信しません。Win32ショートカットメニューはどのような場合でもメッセージを送信しません
私はがWM_CONTEXTMENUウィンドウプロシージャメッセージにそれを試してみました、高レベルのマウスフックにそれを試してみました。 私が何をしても、返すものは決してメッセージを送信しません。
メニューはアプリケーションの起動時に作成され、アプリケーションが終了すると破棄されます。あなたが解決策は、私は私が持っているので、何をすべきかを教えて知っていれば
TrackPopupMenu(DoomRatGUI_SlavesListItemMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD | TPM_LEFTBUTTON | TPM_NOANIMATION, LOWORD(Arg_lParam), HIWORD(Arg_lParam), 0, DoomRatGUI_WindowHandle, NULL);
:
DoomRatGUI_SlavesListItemMenu = CreatePopupMenu();
DoomRatGUI_SlavesListItemMenuInfo = calloc(1, sizeof(MENUINFO));
DoomRatGUI_SlavesListItemMenuInfo->fMask = MIM_STYLE | MIM_APPLYTOSUBMENUS;
DoomRatGUI_SlavesListItemMenuInfo->cbSize = sizeof(MENUINFO);
DoomRatGUI_SlavesListItemMenuInfo->dwStyle = MNS_NOCHECK | MNS_NOTIFYBYPOS;
//DoomRatGUI_SlavesListItemMenuInfo->hbrBack = ResourcesManager_GetDarkGreyBrush();
SetMenuInfo(DoomRatGUI_SlavesListItemMenu, DoomRatGUI_SlavesListItemMenuInfo);
AppendMenuW(DoomRatGUI_SlavesListItemMenu, MF_STRING, 1001, L"Actions");
AppendMenuW(DoomRatGUI_SlavesListItemMenu, MF_STRING, 1002, L"Quick Info");
AppendMenuW(DoomRatGUI_SlavesListItemMenu, MF_STRING, 1003, L"Quick Stop");
AppendMenuW(DoomRatGUI_SlavesListItemMenu, MF_STRING, 1004, L"Quick Restart");
私はコードの行を使用してメニューを表示:ここで
は、メニューの作成コードでありますすべてのものを試しました。そのコードをどこに置くのか正確にありがとう。PS:DoomRATは悪意のあるものではありません。その小さな2Dゲーム私は学習のために取り組んでいます。
TrackPopupMenu()のMSDNドキュメントを参照したことがありますか?それは、このSOの質問を書いたほうが速くなっています。 – zett42
これはモーダルです。内部的には独自のメッセージハンドラを持っています。 –