Щелчок правой кнопкой мыши в контекстном меню 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;
    }
}

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


person Midas    schedule 17.05.2011    source источник


Ответы (1)


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

person Ben Voigt    schedule 17.05.2011
comment
Спасибо! Почему я все равно забыл посмотреть документацию? - person Midas; 17.05.2011
comment
@Midas: Потому что ТАК часто удобнее? Но вежливо просить помощи только в том, что документация оставляет неясным. - person Ben Voigt; 17.05.2011