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

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

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


0a2653c851af460fa595bd959398a8f1.png0eacb84100b54626af849e6b562bf92a.png


二、源代码


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;
}

三、运行效果


2e9b90b2ca334476abebe75bafe6eeaa.png

目录
相关文章
ArcMap矢量图层的零碎、空洞区域填补与独立区域剔除:消除面部件
本文介绍在ArcMap软件中,基于消除面部件(“Eliminate Polygon Part”)工具,对矢量面要素的零碎、空洞区域加以删除,同时将游离于要素主体之外的部分剔除的方法~
113054 1
ArcMap矢量图层的零碎、空洞区域填补与独立区域剔除:消除面部件
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
897 1
|
XML 前端开发 JavaScript
前端图形学实战: 从零实现编辑器的图层管理面板和实时缩略图(vue3 + vite版)
前端图形学实战: 从零实现编辑器的图层管理面板和实时缩略图(vue3 + vite版)
294 0
|
5月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
499 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
7月前
|
安全 算法 数据安全/隐私保护
远控安全进阶之战:TeamViewer/ToDesk/向日葵设备安全策略对比
在数字化时代,卓越的远程控制软件需兼顾功能与体验,包括流畅连接、高清画质、低门槛UI设计、毫秒级延迟及多功能性,同时要有独树一帜的远控安全技术,通过前瞻性安全策略阻挡网络风险,为用户打造全方位安全体验,在基础安全防护上不断创新。本文选取了当下热门的TeamViewer、ToDesk、向日葵三款远程控制软件,从软件介绍、远控安全策略等多个维度进行深入对比,以呈现一场精彩的远控软件安全进阶“大比拼”。
650 13
|
Java 数据库连接 Maven
springBoot:项目建立&配置修改&yaml的使用&resource 文件夹(二)
本文档介绍了如何创建一个基于Maven的项目,并配置阿里云仓库、数据库连接、端口号、自定义启动横幅及多环境配置等。同时,详细说明了如何使用YAML格式进行配置,以及如何处理静态资源和模板文件。文档还涵盖了Spring Boot项目的`application.properties`和`application.yaml`文件的配置方法,包括设置数据库驱动、URL、用户名、密码等关键信息,以及如何通过配置文件管理不同环境下的应用设置。
981 1
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
989 1
Maven——创建 Spring Boot项目
|
12月前
|
编译器 C语言
【C语言】宏定义在 a.c 中定义,如何在 b.c 中使用?
通过将宏定义放在头文件 `macros.h` 中,并在多个源文件中包含该头文件,我们能够在多个文件中共享宏定义。这种方法不仅提高了代码的重用性和一致性,还简化了维护和管理工作。本文通过具体示例展示了如何定义和使用宏定义,帮助读者更好地理解和应用宏定义的机制。
510 2
|
C++
VS 查看指定可执行文件(例如 myexec.exe)依赖的动态链接库
VS 查看指定可执行文件(例如 myexec.exe)依赖的动态链接库
456 3
|
人工智能 前端开发 JavaScript
Vue实现商品放大镜效果
在这个鼎盛的电商时代各种直播带货或者自主逛宝购物,我们对商品的认知和了解进一步查看详情,发现我们的商品可以放大观看,于是心血来潮运用前端技术Vue框架,写了一个类似放大镜的功能
339 0
Vue实现商品放大镜效果