Щелчок правой кнопкой мыши в контекстном меню WinAPI

Я создаю контекстное меню, как это:

Файл ресурса:

IDR_CONTEXT MENU
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Add &last",   ID_ADDLAST
        MENUITEM "Add &before", ID_ADDBEFORE
        MENUITEM "Add &after",  ID_ADDAFTER
        MENUITEM "&Remove",     ID_REMOVE
    END
END

И процедура окна:

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
    switch (message) {
        case WM_RBUTTONDOWN:
            {
                POINT cursor;
                GetCursorPos(&cursor);
                TrackPopupMenu((HMENU) GetSubMenu(LoadMenu(hInstance, MAKEINTRESOURCE(IDR_CONTEXT)), 0), TPM_LEFTALIGN, cursor.x, cursor.y, 0, hWnd, NULL);
            }
            break;
    }
}

Но это не позволяет мне щелкнуть правой кнопкой мыши по элементам в контекстном меню. Я могу только щелкнуть левой кнопкой мыши на них... Как это исправить?

1 ответ

Решение

Если вы читаете страницу документации дляTrackPopupMenu, вы найдете флаг, описанный как "Пользователь может выбирать пункты меню как левой, так и правой кнопками мыши".

Другие вопросы по тегам