一.
1:取得要拖放的文件名與路徑。
2:取得目標文件名與路徑。
3:在拖動事件中把文件從原目錄拷入目標目錄。
4:取得文件圖標放入TImageList。
5:以一種方式顯示文件名和圖標。
這裡有些難度的是第四步,如何取得圖標,現把剛學來的再告訴你(以在TListView顯示圖標為例):
在頭文件中加入:#define NO_WIN32_LEAN_AND_MEAN
在.cpp中加入:
SHFILEINFO FileInfo;
THandle ImageListHandle;
ImageListHandle = SHGetFileInfo("C:\\WINDOWS\\Start Menu\\Programs\\Microsoft FrontPage.lnk", 0, &FileInfo, sizeof(FileInfo),
SHGFI_SYSICONINDEX ¦ SHGFI_LARGEICON);
SendMessage(lstvwVirtualList->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,
ImageListHandle);
TListItem * pItem;
SHGetFileInfo("C:\\WINDOWS\\Start Menu\\Programs\\Microsoft FrontPage.lnk", 0, &FileInfo, sizeof(FileInfo),SHGFI_ICON;SHGFI_LARGEICON);
pItem=lstvwVirtualList->Items->Add();
pItem->ImageIndex=FileInfo.iIcon;
SHGetFileInfo("C:\\WINDOWS\\Start Menu\\Programs\\DRVSPACE.EXE", 0, &FileInfo, sizeof(FileInfo),SHGFI_ICON;SHGFI_LARGEICON );
pItem=lstvwVirtualList->Items->Add();
pItem->ImageIndex=FileInfo.iIcon;
這樣就可取得2個文件的圖標,如果有其他文件可也再加。