掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TreeViewにフォルダーをRunTimeでツリー状に表示する方法 (ID:149829)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
フルパスでなく個々のフォルダ名のみ表示の場合 procedure TForm1.Button1Click(Sender: TObject); begin DRIVE('C:\'); DRIVE('D:\'); end; procedure TForm1.DRIVE(ADRIVE: String); var TreeViewItem: TTreeViewItem; begin TreeViewItem := TTreeViewItem.Create(TreeView1); TreeViewItem.Text := ADRIVE; TreeViewItem.OnApplyStyleLookup := TreeViewItemApplyStyleLookup; TreeViewItem.Parent := TreeView1; end; procedure TForm1.DIR(APATH: String; AParent: TComponent); var dirNames : TStringDynArray; dirName : string; TreeViewItem: TTreeViewItem; begin try dirNames := TDirectory.GetDirectories(Apath, '*.*', TSearchOption.soTopDirectoryOnly ); for dirName in dirNames do begin TreeViewItem := TTreeViewItem.Create(AParent); TreeViewItem.Text := ExtractFilename(DirName); TreeViewItem.OnApplyStyleLookup := TreeViewItemApplyStyleLookup; TreeViewItem.Parent := TTreeViewItem(AParent); end; except end; end; procedure TForm1.TreeViewItemApplyStyleLookup(Sender: TObject); var I: Integer; S: String; TreeViewItem,T2: TTreeViewItem; begin if Sender is TTreeViewItem then begin TreeViewItem := TTreeViewItem(Sender); if TreeViewItem.Tag = 0 then begin TreeViewItem.Tag := 1; T2 := TreeViewItem; S := T2.Text; for I:=0 to T2.Level do begin if T2.Owner is TTreeViewItem then begin T2 := TTreeViewItem(T2.Owner); S := T2.Text + '\' + S; end; end; DIR (S,TreeViewItem); end; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.