LRESULT Explorerplusplus::OnTreeViewKeyDown(LPARAM lParam) { NMTVKEYDOWN *nmtvkd = NULL; nmtvkd = (NMTVKEYDOWN *)lParam; switch(nmtvkd->wVKey) { case VK_DELETE: if(GetKeyState(VK_SHIFT) & 0x80) OnTreeViewFileDelete(TRUE); else OnTreeViewFileDelete(FALSE); break; case 'C': if((GetKeyState(VK_CONTROL) & 0x80) && !(GetKeyState(VK_SHIFT) & 0x80) && !(GetKeyState(VK_MENU) & 0x80)) OnTreeViewCopy(TRUE); break; case 'V': if((GetKeyState(VK_CONTROL) & 0x80) && !(GetKeyState(VK_SHIFT) & 0x80) && !(GetKeyState(VK_MENU) & 0x80)) OnTreeViewPaste(); break; case 'X': if((GetKeyState(VK_CONTROL) & 0x80) && !(GetKeyState(VK_SHIFT) & 0x80) && !(GetKeyState(VK_MENU) & 0x80)) OnTreeViewCopy(FALSE); break; } /* If the ctrl key is down, this key sequence is likely a modifier. Stop any other pressed key from been used in an incremental search. */ if(GetKeyState(VK_CONTROL) & 0x80) return 1; return 0; }
void Explorerplusplus::OnFileDelete(BOOL bPermanent) { HWND hFocus; hFocus = GetFocus(); if(hFocus == m_hActiveListView) { OnListViewFileDelete(bPermanent); } else if(hFocus == m_hTreeView) { OnTreeViewFileDelete(bPermanent); } }