MFC中用c++语言实现获取文件路径(拖拽获取)
来源:互联网 发布:淘宝15万贷款技术 编辑:程序博客网 时间:2024/06/05 23:40
一.使用VS2015创建新的项目->MFC应用程序->基于对话框
二.编辑对话框,添加Edit编辑框控件
三.在对话框属性中找到行为->Acccept Files更改False为True
四.右点击对话框选择添加类向导(或者按Ctrl+Shift+x快捷键),在消息一栏中选择WM_DROPFILES点击确定
五.在OnDropFiles函数中添加如下代码:
void CGetFilePathDlg::OnDropFiles(HDROP hDropInfo){ // TODO: 在此添加消息处理程序代码和/或调用默认值 TCHAR szPath[MAX_PATH] = { 0 }; UINT nCount = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0); for (UINT idx = 0; idx < nCount; ++idx) { DragQueryFile(hDropInfo, idx, szPath, MAX_PATH); //MessageBox(szPath);//以消息盒子形式显示路径 SetDlgItemText(IDC_EDIT1,szPath);//在编辑框内显示路径 } DragFinish(hDropInfo); CDialogEx::OnDropFiles(hDropInfo);}
注意:想在编辑框中显示路径就必须双击一下编辑框以生成编辑框函数。
*重要函数:DragQueryFile
//是一个成功拖放操作后获取被拖放文件的名称等信息的函数。
语法:
UINT DragQueryFile(HDROPhDrop,UINTiFile,LPTSTRlpszFile,UINTcch);
参数:
hDrop用于区分”包含被拖拽文件名称结构”的句柄。即存放所拖放文件名称的数据结构的句柄,也就是文件名缓冲区的句柄iFile文件索引编号(用于指明所要查询文件的序号, 如果拖进多个文件,则索引编号从零开始),如果iFile值为 0xFFFFFFFF 时,返回的是拖曳到窗体上的文件的个数。如果iFile值在0和拖拽文件总数之间时,DragQueryFile拷贝与文件名存储缓冲区大小适应的文件名称到缓冲区中。lpszFile函数返回时,用于存储拖拽文件名称的缓冲区指针。文件名称是一个以空终止“\0”结尾的字符串。如果此参数是NULL,DragQueryFile函数返回拖拽的文件名的长度。函数DragQueryFile得到的文件名,是带完整路径的文件名。cch存储拖拽文件名称缓冲区的大小,即lpszFile指针所指缓冲区的字符数。
*重要函数:SetDlgItemText
//该函数设置对话框中控件的文本和标题
语法:
BOOLSetDlgltemText(HWND hDlg,int nlDDlgltem,LPCTSTR IpString);
参数:
hDlg:指定含有控件的对话框。nlDDlgltem:标识带有将被设置的标题和文本的控件。IpString:指向一个以NULL结尾的字符串指针,该字符串指针包含了将被复制到控件的文本。返回值:如果函数调用成功,则返回值为非零值。如果函数调用失败,则返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
O(∩_∩)O哈哈~获取文件路径就到这了
阅读全文
1 0
- MFC中用c++语言实现获取文件路径(拖拽获取)
- Visual C++(MFC) 打开文件 获取文件路径 详解
- 用MFC获取文件路径
- VS MFC获取文件路径
- VC/MFC 实现文件拖拽获取文件名(WM_DROPFILES)
- MFC 获取文件夹路径以及文件路径
- 如何获取C语言路径
- c语言获取当前路径
- MFC获取打开目录路径和获取文件路径
- VC++ MFC 获取文件路径 获取文件夹路径
- MFC获取打开目录路径和获取文件路径
- MFC获取鼠标拖入文件的完整路径名
- 【MFC】如何获取文件路径和目录
- MFC获取exe文件所在的路径
- MFC 获取文件和文件夹的路径
- MFC通过点击获取文件路径名字
- MFC实现获取工程的全路径
- 获取当前exe文件所在文件夹路径接口(c语言)
- [Leetcode] 424. Longest Repeating Character Replacement 解题报告
- Android 片段——Fragment的使用
- mysql unionall的一种使用方法
- struts2(四)
- ubuntu 下更新 GPU 驱动
- MFC中用c++语言实现获取文件路径(拖拽获取)
- 指针函数和函数指针
- js禁止右键和f12
- 踏踏实实的学习
- 有道云笔记高级语法
- YUV格式
- 汇总站外seo方法和做法?
- Mybatis------ @Resource注解出现错误
- 浮点数的二进制表示学习笔记