treeview:用TreeView浏览目录来源: 发布时间:星期四, 2008年9月25日 浏览:159次 评论:0
void __fastcall tform1::formcreate(tobject *sender)
{ currentdir=getcurrentdir(); updatetreeview(); updatelistview(); } //--------------------------------------------------------------------------- void __fastcall tform1::updatetreeview() { ttreenode *rnode,*mnode; treeview1->items->clear(); rnode=treeview1->items->add(treeview1->selected,\"我的电脑\"); rnode->imageindex=1; rnode->selectedindex=1; mnode=treeview1->items->addchild(rnode,\"a:\"); mnode->imageindex=2; mnode->selectedindex=2; adddirectory(\"a:\",mnode); for(int i=1;i<drivecombobox1->items->count;i++) { mnode=treeview1->items->addchild(rnode,ansistring(char(\'b\'+i))+\":\"); mnode->imageindex=3; mnode->selectedindex=3; adddirectory(ansistring(char(\'b\'+i))+\":\",mnode); } } //------------------------------------------------------------------------ void tform1::adddirectory(ansistring path,ttreenode *fnode) { tsearchrec sr; ttreenode *mnode; if(findfirst(path+\"\\\\*.*\" ,fadirectory,sr)==0) { if(sr.attr==fadirectory) { if(sr.name!=\".\"&&sr.name!=\"..\") { mnode=treeview1->items->addchild(fnode,sr.name); mnode->imageindex=0; mnode->selectedindex=4; // adddirectory(path+\"\\\\\"+sr.name,mnode); } } } while(findnext(sr)==0) { if(sr.attr==fadirectory) { if(sr.name!=\".\"&&sr.name!=\"..\") { mnode=treeview1->items->addchild(fnode,sr.name); mnode->imageindex=0; mnode->selectedindex=4; // adddirectory(path+\"\\\\\"+sr.name,mnode); } } } findclose(sr); } //-------------------------------------------------------------------- void __fastcall tform1::treeview1changing(tobject *sender, ttreenode *node, bool &allowchange) { screen->cursor=crhourglass; tsearchrec sr; ttreenode *nodetmp=node; ansistring dirname,dirtmp; dirname=node->text; for(int i=node->level;i>1;i--) { nodetmp=nodetmp->parent; dirtmp=nodetmp->text; if(dirtmp.substring(dirtmp.length(),1)!=\"\\\\\") dirtmp+=\"\\\\\"; dirname.insert(dirtmp,0); } if(dirname.substring(dirname.length(),1)!=\"\\\\\") dirname+=\"\\\\\"; for(int j=0;j<node->count;j++) { if(node->item[j]->count==0); { if(findfirst(dirname+node->item[j]->text+\"\\\\*.*\", faanyfile, sr) == 0) { do { //node->item[j]->imageindex=5; //node->item[j]->selectedindex=4; if((sr.attr&fadirectory)&&sr.name!=\".\"&&sr.name!=\"..\") { node->item[j]->imageindex=0; node->item[j]->selectedindex=4; treeview1->items->addchild(node->item[j],sr.name); } } while (findnext(sr)==0); findclose(sr); } } } screen->cursor=crdefault; } 0
相关文章
读者评论
发表评论 |