MFC----文件拖拽的实现OnDropFiles

本文介绍如何在C控件中实现文件拖拽功能,通过添加WM_DROPFILES消息并使用DragQueryFile函数获取拖拽文件的个数和文件名。详细步骤包括设置窗口接受文件属性、拖放过程中的消息处理以及拖放结束后的资源释放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着上篇的讲http://blog.youkuaiyun.com/yf210yf/article/details/7853741

这篇实现文件的拖拽功能。

实现的消息是WM_DROPFILES------>OnDropFiles

依旧先添加WM_DROPFILES消息


转载请注明出处:http://blog.youkuaiyun.com/yf210yf/article/details/7853823

思路是:用DragQueryFile函数返回拖拽的文件个数

然后返回每个文件文件名

void C控件随拖动改变大小Dlg::OnDropFiles(HDROP hDropInfo)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	int DropCount=DragQueryFile(hDropInfo,-1,NULL,0);//取得被拖动文件的数目
	for(int i=0;i< DropCount;i++)
	{
		WCHAR wcStr[MAX_PATH];
		DragQueryFile(hDropInfo,i,wcStr,MAX_PATH);//获得拖曳的第i个文件的文件名
		listbox.AddString(wcStr);
	} 
	DragFinish(hDropInfo);  //拖放结束后,释放内存

	CDialog::OnDropFiles(hDropInfo);
}

还有要设置设置窗口的accept files属性为真


运行效果:


转载请注明出处:http://blog.youkuaiyun.com/yf210yf/article/details/7853823


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值