📄 mainframefiledroptarget.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 + -