Windows界面编程第七篇 文件拖拽(文件拖放)

Windows界面编程第七篇 文件拖拽(文件拖放),第1张

本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5128654

转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8634451

欢迎关注微博:http://weibo.com/MoreWindows

 

前面已经有六篇文章介绍了Windows界面编程,目录如下:

1. 《Windows界面编程第一篇位图背景与位图画刷》

2. 《Windows界面编程第二篇半透明窗体》

3. 《Windows界面编程第三篇异形窗体普通版》

4. 《Windows界面编程第四篇异形窗体高富帅版》

5. 《Windows界面编程第五篇静态控件背景透明化》

6.《Windows界面编程第六篇动画启动效果(动画效果显示及隐藏窗口)》

 

本篇《Windows界面编程第七篇文件拖拽(文件拖放)》来介绍如何为程序添加文件拖拽(文件拖放) *** 作,文件拖拽(文件拖放) *** 作可以归类到Windows程序的界面 *** 作,因此也将这篇文章放到Windows界面编程系列中。

    文件拖拽(文件拖放)功能能有效提高用户体验,在VC++中要让程序支持文件拖拽功能,主要使用三个函数——DragAcceptFiles,DragQueryFile和DragFinish。下面先来介绍这三个函数(为了更加好学习英语,函数介绍尽可能会使用英语)。

 

一.DragAcceptFiles

函数功能:Registers whether a window accepts dropped files. An application that calls DragAcceptFiles with the fAccept parameter set to TRUE has identified itself as able to process the WM_DROPFILES message from File Manager.

函数原型:

//By MoreWindows-(http://blog.csdn.net/MoreWindows)

VOIDDragAcceptFiles(

HWNDhWnd,

BOOL fAccept

);

参数说明:

第一个参数hWnd:

The identifier of the window that is registering whether it will accept dropped files.

第二个参数fAccept:

A value that indicates if the window identified by the hWnd parameter accepts dropped files. This value is TRUE to accept dropped files or FALSE to discontinue accepting dropped files.

 

对于对话框程序,还可以通过选择其Properties->Extended Styles,点选Accept files选项即可。

 

一.DragQueryFile

函数功能:Retrieves the names of dropped files that result from a successful drag-and-drop operation.

函数原型:

//By MoreWindows-(http://blog.csdn.net/MoreWindows)

UINTDragQueryFile(

HDROPhDrop,

UINT iFile,

LPTSTRlpszFile,

UINTcch

);

参数说明:
第一个参数hDrop:

HDROP标识符,即响应函数中的wParam参数
第二个参数iFile::

待查询的文件索引号,从0开始。可以同时拖拽多个文件,因此就需要一个索引号来进行区分。如果该参数为0xFFFFFFFF,则该函数返回拖拽的文件的个数
第三个参数lpszFile:

用于存放文件名的缓冲区首地址
第四个参数cch:

缓冲区长度
函数返回值:若iFile为0xFFFFFFFF返回拖拽的文件个数,否则返回相应索引号的文件名长度。

 

第三个DragFinish

函数功能:Releases memory that the system allocated for use in transferring file names to the application.

函数原型:

//By MoreWindows-(http://blog.csdn.net/MoreWindows)

VOIDDragFinish(HDROPhDrop); 

 

下面是示例程序代码,代码中有详细注释。(下载地址:http://download.csdn.net/detail/morewindows/5128654)

[cpp] view plaincopy

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2086269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存