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;
}
Example #2
0
void Explorerplusplus::OnFileDelete(BOOL bPermanent)
{
	HWND hFocus;

	hFocus = GetFocus();

	if(hFocus == m_hActiveListView)
	{
		OnListViewFileDelete(bPermanent);
	}
	else if(hFocus == m_hTreeView)
	{
		OnTreeViewFileDelete(bPermanent);
	}
}