void __fastcall TForm1::GetDriveTree(String DriveName)
{
SHFILEINFO shfinfo;
TTreeNode * Node1 = TreeView1->Items->Add(NULL,DriveName) ;
ImageList1->Handle = SHGetFileInfo(DriveName.c_str(),NULL,&shfinfo,sizeof(SHFILEINFO),
SHGFI_SMALLICON|SHGFI_SYSICONINDEX) ;
Node1->ImageIndex = shfinfo.iIcon ;
Node1->SelectedIndex = shfinfo.iIcon ;
TSearchRec sr ;
if (FindFirst(DriveName+"*.*", faAnyFile, sr) == 0)
{
do
{
if((sr.Attr & faDirectory) && sr.Name!="." && sr.Name!="..")
{
String temp = DriveName+sr.Name;
TTreeNode *TempNode = TreeView1->Items->AddChild(Node1,sr.Name);
ImageList1->Handle = SHGetFileInfo(temp.c_str(),NULL,&shfinfo,sizeof(SHFILEINFO),
SHGFI_SMALLICON|SHGFI_SYSICONINDEX) ;
TempNode->ImageIndex = shfinfo.iIcon ;
TempNode->SelectedIndex = shfinfo.iIcon ;
}
} while (FindNext(sr) == 0);
FindClose(sr);
}
TreeView1->Selected = TreeView1->GetNodeAt(1,1);
//讓他在更新完後有指向root的動作才會觸發changing
}
//设置listview的图标。
SHFILEINFO FileInfo;
THandle ImageListHandle;
//大图标
ImageListHandle = SHGetFileInfo("C://", 0, &FileInfo, sizeof(FileInfo),
SHGFI_SYSICONINDEX | SHGFI_LARGEICON);
SendMessage(FJListView->Handle, LVM_SETIMAGELIST, LVSIL_NORMAL,ImageListHandle);
SendMessage(FJHtmlListView->Handle, LVM_SETIMAGELIST, LVSIL_NORMAL,ImageListHandle);
//小图标
ImageListHandle = SHGetFileInfo("C://", 0, &FileInfo, sizeof(FileInfo),
SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
SendMessage(FJListView->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,ImageListHandle);
SendMessage(FJHtmlListView->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,ImageListHandle);
SHFILEINFO FileInfo;
ZeroMemory(&FileInfo,sizeof(FileInfo));
SHGetFileInfo(sFileName.c_str(), 0, &FileInfo, sizeof(FileInfo),SHGFI_ICON|SHGFI_SMALLICON );
原因只出在沒將 ImageList1 的 ShareImages 設為 true ...
SendMessage(FJListView->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,ImageListHandle);
SendMessage(FJHtmlListView->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,ImageListHandle);
SHFILEINFO FileInfo;
ZeroMemory(&FileInfo,sizeof(FileInfo));
SHGetFileInfo(sFileName.c_str(), 0, &FileInfo, sizeof(FileInfo),SHGFI_ICON|SHGFI_SMALLICON );
原因只出在沒將 ImageList1 的 ShareImages 設為 true ...