کامپوننت TListView همون کاری رو انجام میده که Windows برای نشون دادن پوشه ها و فایلها انجام میده.
یک پراپرتی بنام ViewStyle داره که اگر اونرو برابر با مقدار vsIcon قرار بدی و به ListView یک ImageList بدهی و چندتا Item اضافه کنی، براحتی میفهمی که چکاری انجام میده. اگر ViewStyle را تغییر دهی طرز چیدمان Item ها عوض میشه.
و اما در مورد TTreeView:
از این کامپوننت برای نشون دادن ساختار درختی استفاده میشه.
این کامپوننت یک پراپرتی بنام Items دارد که اگر برروی آن کلیک کنی یک ادیتور باز میشود و میتوانی Item های مورد نظرت را در آن ایجاد کنی ووووووووولی اینکار مفت نمی ارزه! چون در 95% مواقع Item ها باید در حالت RunTime (یعنی زمانی که برنامه اجرا شده است) درست بشوند که برای ساختن آنها مجبوری از توابع بازگشتی (Recursive) استفاده کنی :wacko:
نمیدونم که تا حالا با توابع بازگشتی سر و کله زدی یا نه؟
به هر حال من یک Sample برات ضمیمه کردم که داخلش از یک تابع Recursive استفاده کردم. البته جدیدا یک راه خیلی توپ و باحال بجای Recursive ابداع شده که معمولا در دیتابیس ها ازش استفاده میشه و کار رو خیلی خیلی ساده و تر و تمیز میکنه. من ازش استفاده کردم و لذت دنیا رو هم بردم:lol:
در هر حال اگر جایی از صحبتهایم مبهم بود، بگو تا بیشتر توضیح بدهم.