MFC编程 -- 实现拖拽文件获取路径

Posted web安全工具库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC编程 -- 实现拖拽文件获取路径相关的知识,希望对你有一定的参考价值。

一、设置界面,拖拽一个编辑框到窗口,设置好大小,将接收文件属性改为true

二、源代码

1、添加消息事件

case WM_DROPFILES:
   return 拖拽文件(hwndDlg, (HDROP)wParam);

2、获取文件路径

int 拖拽文件(HWND hDlg,HDROP hDrop)

    TCHAR str[256];
    int n = DragQueryFile(hDrop, -1, NULL, 0);
    if (n <= 0)
    
        return -1;
    
    n = DragQueryFile(hDrop, n-1, str, _countof(str));
    /*第一个参数拖入文件的句柄,
    第二个参数,-1代表函数返回文件的个数,n-1代表第n个文件
    第三个参数,字符串缓存,存放函数返回来的文件路径,指定null,返回所需要的字符串缓存大小
    第四个参数,指定字符串缓存的大小*/  
    SetWindowText(hDlg,(LPCWSTR)str);
    return 0;

三、运行效果

欢迎关注编程有你公众号,每天学点编程知识

以上是关于MFC编程 -- 实现拖拽文件获取路径的主要内容,如果未能解决你的问题,请参考以下文章

MFC 编程的控件mfc editbrowser control。怎么获取该控件所选中文件的值,即选中文件的路径。vs2010编译器

mfc编程,要用户选择一个文件夹,然后返回此文件夹的路径。不是要选择文件,是要文件夹的路径。

MFC编程中Edit框的操作

求助关于MFC的拖拽消息

MFC如何实现鼠标拖拽?

mfc怎么实现打开文件夹