Пример #1
0
void MainWindowPageScripts::OnContextMenu(HWND hWindow, LPARAM lParam) {
    if(hWindow == hWndPageItems[REDT_SCRIPTS_ERRORS]) {
        RichEditPopupMenu(pMainWindowPageScripts->hWndPageItems[MainWindowPageScripts::REDT_SCRIPTS_ERRORS], pMainWindowPageScripts->m_hWnd, lParam);
        return;
    }

    if(hWindow != hWndPageItems[LV_SCRIPTS]) {
        return;
    }

    int iSel = (int)::SendMessage(hWndPageItems[LV_SCRIPTS], LVM_GETNEXTITEM, (WPARAM)-1, LVNI_SELECTED);

    if(iSel == -1) {
        return;
    }

    HMENU hMenu = ::CreatePopupMenu();

    ::AppendMenu(hMenu, MF_STRING, IDC_OPEN_IN_EXT_EDITOR, LanguageManager->sTexts[LAN_OPEN_EXT_EDIT]);
    ::AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);
    ::AppendMenu(hMenu, MF_STRING, IDC_OPEN_IN_SCRIPT_EDITOR, LanguageManager->sTexts[LAN_OPEN_IN_SCRIPT_EDITOR]);
    ::AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);
    ::AppendMenu(hMenu, MF_STRING, IDC_DELETE_SCRIPT, LanguageManager->sTexts[LAN_DELETE_SCRIPT]);

    ::SetMenuDefaultItem(hMenu, IDC_OPEN_IN_SCRIPT_EDITOR, FALSE);

    int iX = GET_X_LPARAM(lParam);
    int iY = GET_Y_LPARAM(lParam);

    ListViewGetMenuPos(hWndPageItems[LV_SCRIPTS], iX, iY);

    ::TrackPopupMenuEx(hMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, iX, iY, m_hWnd, NULL);

    ::DestroyMenu(hMenu);
}
Пример #2
0
void ScriptEditorDialog::OnContextMenu(HWND hWindow, LPARAM lParam) {
    if(hWindow == m_hWndWindowItems[REDT_SCRIPT]) {
        RichEditPopupMenu(m_hWndWindowItems[REDT_SCRIPT], m_hWndWindowItems[WINDOW_HANDLE], lParam);
    }
}