首页 / 软件开发 / VC.NET / Windows界面编程(7) 文件拖拽(文件拖放)
Windows界面编程(7) 文件拖拽(文件拖放)2014-01-09本篇《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);