实现文件拖放的一种简洁方法
---- DragQueryFile原型為:
UINT DragQueryFile( HDROP hDrop, UINT iFile, LPTSTR lpszFile, UINT cch )---- 其中hDrop是指向拖動(dòng)文件結(jié)構(gòu)的句柄;
---- iFile 是以0開始的被托動(dòng)文件的序號(hào),因?yàn)橐淮慰赡芡蟿?dòng)多個(gè)文件。當(dāng)此參數(shù)
---- 設(shè)為0xFFFFFFFF,則函數(shù)返回拖動(dòng)文件的數(shù)量;
---- lpszFile 是指向文件名的緩沖區(qū);
---- cch 是文件名緩沖區(qū)的大小,即文件名的字符數(shù)。
---- 明確了該函數(shù)的參數(shù)后,編程就是一件很簡單的事情了。以下給出一個(gè)完整的實(shí)例,程序運(yùn)行后彈出一個(gè)對(duì)話框,可以拖動(dòng)任意數(shù)量的文件或目錄到上面,松開鼠標(biāo)后,程序先顯示拖放文件的數(shù)量,然后將拖放的文件名全部顯示在一個(gè)List Box控件中。具體步驟如下:
---- 注意程序中的::DragFinish (hDropInfo);語句是必不可少的,它用于釋放WINDOWS為處理文件拖放而分配的內(nèi)存。
---- 運(yùn)行此程序可以看到,拖動(dòng)的文件只要一進(jìn)入對(duì)話框的邊界,鼠標(biāo)上立刻會(huì)現(xiàn)一個(gè)“+”,在對(duì)話框上的任意位置釋放鼠標(biāo),拖放的文件都會(huì)被接受,完全解決了《用MFC實(shí)現(xiàn)文件拖放到編輯框》必須將文件拖到編輯框的不足;而且拖放是通過調(diào)用WINDOWS API函數(shù)實(shí)現(xiàn)的,因此程序非常健壯,幾乎沒有什么維護(hù)量。程序在INDOWS98、vc++5.0下通過。
總結(jié)
以上是生活随笔為你收集整理的实现文件拖放的一种简洁方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始带你一步一步使用YOLOv3测试
- 下一篇: 从零开始带你一步一步使用 YOLOv3