PDA

View Full Version : در TreeView چگونه می شود دو ایتم پدر داریم و در آیتم اول پدر



Valadi
یک شنبه 24 دی 1385, 07:20 صبح
در TreeView چگونه می شود دو ایتم پدر داریم و در آیتم اول پدر یک فرزند و زیر مجموعه این فرزند یک آیتم دیگر داریم مثل شکل قرارداده شده حالا ما می خواهیم روی آیتم کاربر انتخاب کرد یکسری دستورات اجرا بشه چطوری باید این کار کرد ؟

Saeid59_m
یک شنبه 24 دی 1385, 07:47 صبح
سلام
اگه درست منظورت رو متوجه شده باشم
این رو روی رویداد OnChange بنویس ببین چطوره
form1.Label1.Caption:=Node.Text;

vcldeveloper
یک شنبه 24 دی 1385, 08:43 صبح
خصوصیت Selected از TTreeView همواره Node انتخاب شده را بر می گردونه. مثلا:


Label1.Caption := TreeView1.Selected.Text;

حرفه ای
یک شنبه 24 دی 1385, 10:29 صبح
در رویداد OnClick و یا OnKeyPress دستوراتتو بنویس

Valadi
یک شنبه 24 دی 1385, 11:50 صبح
دوستان گرامی فکر کنم سوال بدجوری بیان کردم حالا به شکل دیگری بیان می کنم اگر به عکس ضمیمه نگاه کنید من آیم 4 را برایش می خوام کد بنویسم چی بنویسم ؟

حرفه ای
یک شنبه 24 دی 1385, 11:58 صبح
می تونی توضیحات بیشتری بدی ؟

Valadi
یک شنبه 24 دی 1385, 12:04 عصر
دوست عزیز من طبق عکس می خواهم وقتی روی 4 کلیک شد فرم 2 باز بشه حالا باید چه کار کنم ؟

حرفه ای
یک شنبه 24 دی 1385, 12:39 عصر
دوست خوبم :چشمک:

اگه treeview شما به صورت دستی ورود اطلاعات توسط شما صورت می پذیرد و تغییر نمی کند و یا در انتهای treeView نودی اضافه می کنید از کد زیر استفاده کنید .



If TreeView1.Selected.AbsoluteIndex=3 then form1.ShowModal;

یک پیشنهاد خوب ! اما شما که حرفه ای هستید نه چندان مشکل .:متفکر:

ابتدا یک متغیر از نوع رکورد زیر type تعریف می کنیم


type
MyTreeView = ^TMyTreeView;
TMyTreeView = Record
Cod_TreeView:Integer;
end;

سپس در داخل تابع ساخت treeview


var
MakeTreeView:MyTreeView;
begin
New(MakeTreeView);
MakeTreeView^.Cod_TreeView:= یک عدد یکتا ;
end;


و در داخل رویداد OnClick TreeView



If MyTreeView (TreeView1.Selected.Data)^.Cod_TreeView = 1 Then Form1.ShowModal;

Saeid59_m
یک شنبه 24 دی 1385, 14:12 عصر
دوست عزیز من طبق عکس می خواهم وقتی روی 4 کلیک شد فرم 2 باز بشه حالا باید چه کار کنم ؟

خوب از همون برنامه ای که گفتم می تونی استفاده کنی کافی یه If‌بگذاری که ببینی روی چه آیتمی کلیک شده ، به جای اینکه چاپ بشه

حرفه ای
یک شنبه 24 دی 1385, 16:17 عصر
خوب از همون برنامه ای که گفتم می تونی استفاده کنی کافی یه If‌بگذاری که ببینی روی چه آیتمی کلیک شده ، به جای اینکه چاپ بشه

دوست خوبم سعید جان
اگه اشتباه نکنم منظور شما تکه کد زیره



If TreeView1.Selected.Text='MyLable' Then
Form1.ShowModal;


پیشنهاد بدی نیست و کار رو راه می اندازه اما اگه treeview را به صورت داینامیک استفاده کنی و یا دو نود با اسم مشابه داشته باشی تصور نمی کنم مشکلی حل بشه
حال اگه اونها رو هم کنترل کنی و فونت treeview شما رو ویندوز نخونه مثلماً کد شما نیز کار نخواهد کرد


با تقدیم احترامات :قلب:

Saeid59_m
دوشنبه 25 دی 1385, 09:21 صبح
کاملا درسته
تا همین حد بلد بودم
شرمنده