BOOL CMainToolBar::OnDrop(COleDataObject *pDataObject, DROPEFFECT dropEffect, CPoint point) { int cmd_id = HitTestButton(point); if (cmd_id == ID_RECYCLEBIN) { FileOperation(this, m_DropFiles, FO_DELETE, FOF_ALLOWUNDO, NULL); return TRUE; } if (cmd_id == ID_MYDOCUMENTS) { UINT file_oper = FO_COPY; switch (dropEffect) { case DROPEFFECT_COPY: file_oper = FO_COPY; break; case DROPEFFECT_MOVE: file_oper = FO_MOVE; break; case DROPEFFECT_LINK: return CreateShortcuts(m_DropFiles, m_LastDropFolder); default: TRACE(_T("Invalide file operation %d\n"), dropEffect); return false; } FileOperation(this, m_DropFiles, file_oper, FOF_ALLOWUNDO, m_LastDropFolder); return TRUE; } return false; }
bool CRecBinViewer::OnDrop (COleDataObject *object, DROPEFFECT dwEffect , const TCHAR *pTo) { CSelRowArray ar; CString source_folder; CString dest_folder = pTo; if (!ReadHDropData (object, ar, source_folder)) return false; UINT file_oper = FO_DELETE; return FileOperation (AfxGetMainWnd(), ar, file_oper, FOF_ALLOWUNDO , dest_folder) != 0; }
BOOL Rename( LPCTSTR iTo, LPCTSTR iFrom ) { return FileOperation( FO_RENAME, iFrom, iTo, FOF_ALLOWUNDO|FOF_RENAMEONCOLLISION, NULL ); }
BOOL Delete( LPCTSTR iFileName ) { return FileOperation( FO_DELETE, iFileName, NULL, FOF_ALLOWUNDO|FOF_SIMPLEPROGRESS, NULL ); }
BOOL Copy( LPCTSTR iTo, LPCTSTR iFrom ) { return FileOperation( FO_COPY, iFrom, iTo, FOF_ALLOWUNDO|FOF_RENAMEONCOLLISION, NULL ); }
BOOL Move( LPCTSTR iTo, LPCTSTR iFrom ) { return FileOperation( FO_MOVE, iFrom, iTo, FOF_ALLOWUNDO|FOF_SIMPLEPROGRESS, NULL ); }