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::OnCopy(BOOL bCopy) { HWND hFocus; hFocus = GetFocus(); if(hFocus == m_hActiveListView) { OnListViewCopy(bCopy); } else if(hFocus == m_hTreeView) { OnTreeViewCopy(bCopy); } }