修改对话框属性为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); }
相关推荐
mfc窗口固定大小
我也不在哪下的,不过是很有用的东西,用MFC实现文件拖放到编辑框
此工程实现了MFC窗口控件随窗口大小进行自适应,封装了WidgetResize类用来调整控件大小位置,非常好用。
这是本人实现的一个在MFC中使用duilib的demo,实现了一个MFC窗口类,可以直接在MFC中使用duilib。 该版本为最新版本,可直接编译,支持最新版的Duilib(代码里内置最新duilib) 该版本是vs2008版,带项目文件,可...
mfc 窗口分割实现多视图切换 mfc 窗口分割实现多视图切换
MFC实现窗口查看器 MFC实现窗口查看器MFC实现窗口查看器 MFC实现窗口查看器
实现 MFC 窗口背景的阴影 效 果
MFC 窗口分割源码
MFC 拖曳文件获得文件路径 MFC 拖曳文件获得文件路径 MFC 拖曳文件获得文件路径 MFC 拖曳文件获得文件路径 MFC 拖曳文件获得文件路径 MFC 拖曳文件获得文件路径
mfc窗口框架的设计
《MFC窗口程序设计》中第九章源代码,适合于MFC窗口初学者
MFC打开保存文件对话框.可供参考
mfc窗口分割源码 简单的源码教会你如何分割窗口 很简单的 你一定可以学会
本代码 根据两个BMP位图 建立了一个 自定义的MFC窗口, 程序运行后 只显示一架漂亮的直升机(镂空的), 鼠标点击直升机区域能拖动窗口, 下载绝不后悔!
MFC窗口界面美化知识,MFC 窗口 美化,对你设计窗口界面有一定的帮助
Opengl MFC 创建一个重叠式窗口、弹出式窗口或子窗口。它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小。
MFC父窗口嵌子窗口实现垂直滚动条,子窗口超过客户区时自动添加滚动条
使用VS2015写的MFC子窗口与父窗口之间消息的传递,可以直接执行
mfc窗口的任意分割的简单实现CSplitterWnd的使用
看看MFC的窗口创建