void RegisteredUsersDialog::OnContextMenu(HWND hWindow, LPARAM lParam) { if(hWindow != m_hWndWindowItems[LV_REGS]) { return; } UINT UISelectedCount = (UINT)::SendMessage(m_hWndWindowItems[LV_REGS], LVM_GETSELECTEDCOUNT, 0, 0); if(UISelectedCount == 0) { return; } HMENU hMenu = ::CreatePopupMenu(); if(UISelectedCount == 1) { ::AppendMenu(hMenu, MF_STRING, IDC_CHANGE_REG, LanguageManager::m_Ptr->m_sTexts[LAN_CHANGE]); ::AppendMenu(hMenu, MF_SEPARATOR, 0, nullptr); } ::AppendMenu(hMenu, MF_STRING, IDC_REMOVE_REGS, LanguageManager::m_Ptr->m_sTexts[LAN_REMOVE]); int iX = GET_X_LPARAM(lParam); int iY = GET_Y_LPARAM(lParam); ListViewGetMenuPos(m_hWndWindowItems[LV_REGS], iX, iY); ::TrackPopupMenuEx(hMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, iX, iY, m_hWndWindowItems[WINDOW_HANDLE], nullptr); ::DestroyMenu(hMenu); }
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); }