⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframefiledroptarget.h

📁 一个使用wtl写的完整的多窗口浏览器
💻 H
字号:

#pragma once

template <class T>
class CMainFrameFileDropTarget : public IDropTargetImpl<T>
{
public:
	bool m_bDragAccept;

	DROPEFFECT OnDragEnter(IDataObject* pDataObject, DWORD dwKeyState, CPoint point)
	{
		m_bDragAccept = _MtlIsHlinkDataObject(pDataObject);
		return _MtlStandardDropEffect(dwKeyState);
	}
	DROPEFFECT OnDragOver(IDataObject* pDataObject, DWORD dwKeyState, CPoint point, DROPEFFECT dropOkEffect)
	{
		if (!m_bDragAccept)
			return DROPEFFECT_NONE;

		return _MtlStandardDropEffect(dwKeyState) | _MtlFollowDropEffect(dropOkEffect) | DROPEFFECT_COPY;
	}
	DROPEFFECT OnDrop(IDataObject* pDataObject,	DROPEFFECT dropEffect,
		DROPEFFECT dropEffectList, CPoint point)
	{
		CSimpleArray<CString> arrFiles;
		T* pT = static_cast<T*>(this);
		if (MtlGetDropFileName(pDataObject, arrFiles)) {
			if (arrFiles.GetSize() == 1) {
				DonutOpenFile(pT->m_hWnd, arrFiles[0], DonutGetStdOpenFlag());
				return DROPEFFECT_COPY;
			}

			for (int i = 0; i < arrFiles.GetSize(); ++i) {
				DonutOpenFile(pT->m_hWnd, arrFiles[i]);
			}
			dropEffect = DROPEFFECT_COPY;
			return true;
		}

		CString strText;
		if ( MtlGetHGlobalText(pDataObject, strText) ||
			 MtlGetHGlobalText(pDataObject, strText, ::RegisterClipboardFormat(CFSTR_SHELLURL)) )
		{
			DonutOpenFile(pT->m_hWnd, strText, DonutGetStdOpenFlag());
			return DROPEFFECT_COPY;
		}

		return DROPEFFECT_NONE;
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -