编译环境:Visual Studio 2015
系统:win10
语言:c++ MFC
LIst Control 拖放文件
首先建立一个MFC项目
void CMyListCtrl::OnDropFiles(HDROP hDropInfo)
{
// TODO: Add your message handler code here and/or call default
char szFilePathName[_MAX_PATH + 1] = { 0 };
//得到文件个数
UINT nNumOfFiles = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);
for (UINT nIndex = 0; nIndex< nNumOfFiles; ++nIndex)
{
// 得到文件名
DragQueryFile(hDropInfo, nIndex, (LPTSTR)szFilePathName, _MAX_PATH);
//获取ListCtrl已经存在的项数
int nCnt = this->GetItemCount();
//插入文本
LVITEM lvi = { 0 };
lvi.mask = LVIF_TEXT;
lvi.iItem = nCnt;
lvi.iSubItem = 0;
lvi.pszText = (LPWSTR)szFilePathName;
this->InsertItem(&lvi);
}
//完成拖放操作
DragFinish(hDropInfo);
CListCtrl::OnDropFiles(hDropInfo);
}
m_MyListCtrl.InsertColumn(0, (LPCTSTR)"文件名称", LVCFMT_LEFT, 100);//插入列
到这里基本就结束了,运行一下