Щракване с десен бутон в контекстното меню на 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: Защото SO често е по-удобно? Но е учтиво да молите за помощ само за неща, които документацията оставя неясни. - person Ben Voigt; 17.05.2011