6 d3 U+ \3 y% b7 m void __fastcall TForm1::FormCreate(TObject *Sender) ; {/ d& A; H$ L { CurrentDir=GetCurrentDir(); & D. e; O6 `8 Q UpdateTreeView(); UpdateListView();
} " _6 W _+ a$ E1 Q3 z //--------------------------------------------------------------------------- 6 C' G$ Y) c) ]" j0 G void __fastcall TForm1::UpdateTreeView() { TTreeNode *rNode,*mNode; TreeView1->Items->Clear(); rNode=TreeView1->Items->Add(TreeView1->Selected,"我的电脑"); rNode->ImageIndex=1; rNode->SelectedIndex=1; - d9 ]2 R, z8 Y! v8 L7 P/ J9 {) q mNode=TreeView1->Items->AddChild(rNode,"A:"); * \! T* B. q( j6 G n6 | mNode->ImageIndex=2; ( }5 s% W# F0 a( I. o mNode->SelectedIndex=2; 8 g$ r t- B( ^" X7 T- [1 l AddDirectory("A:",mNode); for(int i=1;i<DriveComboBox1->Items->Count;i++) ) z# }/ \- {' U+ S, { { mNode=TreeView1->Items->AddChild(rNode,AnsiString(char('B'+i))+":"); mNode->ImageIndex=3; mNode->SelectedIndex=3; AddDirectory(AnsiString(char('B'+i))+":",mNode); # m5 m. J' v o* F- a( H } : `! k) H! i6 S' @ } ) k% S+ M; L/ N# u6 J9 j //------------------------------------------------------------------------ 8 ? x( i; O" o9 f) n void TForm1::AddDirectory(AnsiString path,TTreeNode *fNode) , ~- M& g0 v, o& @- f { ( O2 K0 T4 B# R TSearchRec sr; & G9 `" K; ~; v9 M TTreeNode *mNode; * V" f6 T ~- O' q5 s3 ]7 J8 y+ o" l if(FindFirst(path+"\\*.*" ,faDirectory,sr)==0) 4 J: m$ E) x' Y" S/ a/ Z { 4 T2 D2 a) {8 p3 E1 M% G, {, ?; ^ if(sr.Attr==faDirectory) { if(sr.Name!="."&&sr.Name!="..") 0 M4 y7 Z {8 G1 f) l { 1 R5 O4 [2 B* h2 b- w mNode=TreeView1->Items->AddChild(fNode,sr.Name); mNode->ImageIndex=0; 1 ]! L! M% j) i4 a4 M mNode->SelectedIndex=4; , h- G" F3 F* a) ]& H // AddDirectory(path+"\\"+sr.Name,mNode); + }) `7 o( s$ X0 s0 a } # r4 I+ ~, ?( p- d! r1 j } / {, x: g( N. j4 \* f6 B } # u; s6 ]; e1 r6 s- E$ V while(FindNext(sr)==0) { if(sr.Attr==faDirectory) { if(sr.Name!="."&&sr.Name!="..") { mNode=TreeView1->Items->AddChild(fNode,sr.Name); . B9 s' I3 M+ y/ n mNode->ImageIndex=0; - @9 e9 \% ]8 a3 L mNode->SelectedIndex=4; / Z7 _ ]0 [; c6 Z* f! E // AddDirectory(path+"\\"+sr.Name,mNode); } } $ T7 r- h) Z0 i } FindClose(sr); 1 \$ c* P9 O4 M3 F* L }
; Q! E4 }8 D; Q4 a//--------------------------------------------------------------------
void __fastcall TForm1::TreeView1Changing(TObject *Sender, TTreeNode *Node,
bool &AllowChange) 2 {' O4 E4 k; v) q. ?5 E, L
{
Screen->Cursor=crHourGlass;
TSearchRec sr; , w; F" |9 m" b# w$ f- s# p
TTreeNode *NodeTmp=Node; , E( P- H" ?! y% ?# R
AnsiString DirName,DirTmp;
DirName=Node->Text;
for(int i=Node->Level;i>1;i--) 9 e' B6 y$ L; |2 I
{ 2 \) F2 m, A- S" R# U, z w+ b
NodeTmp=NodeTmp->
arent; ; l0 h- j; m) f
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++) 7 d' s- [! H" R4 k
{ . e* W, ?4 m2 \" D
if(Node->Item[j]->Count==0);
{
if (FindFirst(DirName+Node->Item[j]->Text+"\\*.*", faAnyFile, sr) == 0) 9 b/ j8 \' a* R9 ?+ A
{
do
{ + q7 }( e3 t; w6 A& C
//Node->Item[j]->ImageIndex=5; , K0 `3 z( g' w2 P* \+ r1 e" e
//Node->Item[j]->SelectedIndex=4; , G! r, Q' M# S% F5 l) u- E
if((sr.Attr&faDirectory)&&sr.Name!="."&&sr.Name!="..") 0 D) E5 K. }3 ~" [1 A
{
Node->Item[j]->ImageIndex=0;
Node->Item[j]->SelectedIndex=4; ; S0 ~* i, e5 w' n1 h, u; v
TreeView1->Items->AddChild(Node->Item[j],sr.Name);
}
}
while (FindNext(sr)==0);
FindClose(sr);
}
}
} + Y4 J1 `" {* i3 o/ B
Screen->Cursor=crDefault;
}
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |