文档章节

MFC窗口支持文件拖入

abcijkxyz
 abcijkxyz
发布于 2016/08/06 12:04
字数 239
阅读 2
收藏 0
修改对话框属性为Accept Files
或者在初始化时直接通过函数DragAcceptFiles()使得窗口支持文件拖曳
然后,增加对话框窗口的WM_DROPFILES消息响应函数

单个文件:
OnDropFiles(HDROP hDropInfo)
{
	char * pFilePath = new char[256];
	::DragQueryFile(hDropInfo, 0, pFilePath, 256);  // 获取拖放第一个文件的完整文件名
	CString m_FilePath;
	m_FilePath.Format("%s", pFilePath);
	delete[] pFilePath;
/*
	CString m_FilePath;
	::DragQueryFile(hDropInfo, 0, m_FilePath.GetBuffer(256), 256);
	m_FilePath.ReleaseBuffer();
*/
	::DragFinish(hDropInfo);   // 注意这个不能少,它用于释放Windows 为处理文件拖放而分配的内存
}


多个文件:
OnDropFiles(HDROP hDropInfo)
{
	int  nFileCount = ::DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 256);   //获取拖入的文件数量


	char * pFilePath = new char[256];
	for (int i=0; i<nFileCount; i++)
	{
		UINT nChars = ::DragQueryFile(hDropInfo, i, pFilePath,256);   // 获取拖入的第i个文件的文件名
		CString m_FilePath(pFilePath, nChars); 
	}
	delete[] pFileFilePath;
/*
	CString * m_FilePath = new CString[nFileCount];
	for (int i=0; i<nFileCount; i++)
	{
		UINT nChars = ::DragQueryFile(hDropInfo, i, m_FilePath[i].GetBuffer(256),256);   // 获取拖入的第i个文件的文件名
		m_FilePath[i].ReleaseBuffer();
	}
*/
	::DragFinish (hDropInfo);
}


本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/12619749

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问

暂无文章

生产者消费者问题(PV操作)

一、明确定义 要理解生产消费者问题,首先应弄清PV操作的含义:PV操作是由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减...

shzwork
9分钟前
0
0
重新认识网络通信协议

OSI网络分层 应用层 http, smtp,pop3这些都属于应用层协议 为用户的应用程序提供服务 表示层 确保一个系统的应用层发送的信息被另一个系统的应用层接收到 会话层 通过传输层建立数据传输的通...

最胖的瘦子
20分钟前
0
0
【转】分布式数据流的轻量级异步快照

本篇翻译自论文:Lightweight Asynchronous Snapshots for Distributed Dataflows,Flink的容错快照模型即来源于该论文。原文地址:https://arxiv.org/pdf/1506.08603.pdf 分布式数据流的轻量...

yiduwangkai
23分钟前
0
0
java使用反射机制设置私有成员变量的值

写一个方法:public void setProperty(Objectobj, String propertyName, Object value){}, 此方法可将obj对象中名为propertyName的属性的值设置为value。(这里不知道obj对象的propertyNam...

群星纪元
29分钟前
0
0
用 Tapestry 的方式在页面模板中加入注释

<span jwcid="$remove$">这里是注释</span>

LeoXu
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部