请问如何响应文件的拖放

thb 2005-10-09 07:04:42
主要是想取得拖入文件的路径
...全文
240 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Atomictry 2006-03-02
  • 打赏
  • 举报
回复
1. 先保证::DragAcceptFiles打开使能.
2. 处理拖放消息
void CYourDlg::OnDropFiles(HDROP hDropInfo)
{
// TODO: Add your message handler code here and/or call default
ShowFileInfo(hDropInfo );
DragFinish( hDropInfo );

CDialog::OnDropFiles(hDropInfo);
}
BOOL CYourDlg::ShowFileInfo(HDROP hDropInfo)
{
char lpszFile[80];
char szBuff[1024];

POINT pt; //拖放的位置
::DragQueryPoint(hDropInfo, &pt);
CString strPos;
TRACE("拖放的位置:(%d %d)", pt.x, pt.y);

WORD cFiles = ::DragQueryFile(hDropInfo, (UINT)0xFFFFFFFF, (LPTSTR)NULL, (UINT)NULL);
wsprintf(szBuff, "DragFileNumber: %d", (int)cFiles);
TRACE("%s\n", szBuff); //拖放的数量

::DragQueryFile( hDropInfo, 0, lpszFile, sizeof(lpszFile)); //获取拖放的文件名

TRACE("文件名: %s\n", lpszFile);

// 如果还想处理该文件的信息,用SHGetFileInfo结构得到

return TRUE;
}
dnliophsam 2006-03-02
  • 打赏
  • 举报
回复
学习
nodefault 2006-03-02
  • 打赏
  • 举报
回复
phisherr 2005-10-09
  • 打赏
  • 举报
回复
学习
会思考的草 2005-10-09
  • 打赏
  • 举报
回复
我的文章:
http://dev.csdn.net/develop/article/29/29185.shtm
http://dev.csdn.net/develop/article/29/29186.shtm
http://dev.csdn.net/develop/article/29/29187.shtm

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧