PDA

View Full Version : سوال: چگونه روی آیتمهای tree view دستور بگذارم ؟



ALINAMAZI
پنج شنبه 30 آبان 1387, 07:26 صبح
با سلام


من روی فرم ام یک tree view گذاشتم و به آن ایتمهای به این شکل:
مدیر+
:معاون+
کارشناسی+
و....آیتمهای دیگر+

حالا میخواهم روی هر اسمی که مثلا مدیرکلیک کردیم فرم مربوط به آن باز شود وورود اطلاعات و سایر موارد مورد پردازش قرار گیرد

با تشکراز کمکی که میکنید

Ahmad Chehreghani
پنج شنبه 30 آبان 1387, 11:22 صبح
سلام
اول به هر Node يک StateIndex خواص اختصاص مي دي
بعد در Onchange مربوط به Tree اونو کنترل مي کني
مثلا:


procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
case Node.StateIndex of
1:ShowMessage('1') ;
2:ShowMessage('2') ;
3:ShowMessage('3') ;
end;
end;

ALINAMAZI
پنج شنبه 30 آبان 1387, 13:06 عصر
سلام
اول به هر Node يک StateIndex خواص اختصاص مي دي
بعد در Onchange مربوط به Tree اونو کنترل مي کني
مثلا:


procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
case Node.StateIndex of
1:ShowMessage('1') ;
2:ShowMessage('2') ;
3:ShowMessage('3') ;
end;
end;

با تشکر ازاینکه وقتتان را برای مشکل ما صرف کردید من میخواه وقتی 1 شد فرمم مثلا شماره یا اسم دارد باز شود چیزی که شما لطف کردید پیام نمایش میدهد
ممنونم اگر تکمیل کنید

Ahmad Chehreghani
پنج شنبه 30 آبان 1387, 16:17 عصر
اگه منظورت باز شدن فرم هستش که اول يونيت فرمتو Add ميکني اينظوري:
کليد ALT+F11 را ميزني
بعد به جاي Showmessage اينو ميزاري
Form1.Show

راستي اين تاپيکتم از اينجا انتقال بده، اينجا بخش پايگاه داده هستش

ghabil
چهارشنبه 06 آذر 1387, 19:28 عصر
چرا روی ONChange؟ جای منطقی برای این کار روی OndblClick هست

ALINAMAZI
پنج شنبه 07 آذر 1387, 07:13 صبح
چرا روی ONChange؟ جای منطقی برای این کار روی OndblClick هست
با تشکر از شما قابیلجان لطف یک دستور خوب برایش بنویس

ghabil
پنج شنبه 07 آذر 1387, 11:20 صبح
خواهش میکنم ، مثلا این :


procedure TForm1.TreeView1DblClick(Sender: TObject);
begin
ShowMessage((Sender as TTreeview).Selected.Text);
end;

Ahmad Chehreghani
پنج شنبه 07 آذر 1387, 12:12 عصر
البته اگر بخواي يه فرم ديگه باز بشه آره اما در بقيه موارد خير بايد از Onchange استفاده کني.
من روي "فرم ديگه" دقت نکردم
موفق و پيروز باشيد.

behnam-k
پنج شنبه 28 دی 1391, 00:21 صبح
البته درست و کاملش در ONCHANGE به این صورت جواب میده.

procedure TForm1.tv1Change(Sender: TObject; Node: TTreeNode);
begin
case
Node.StateIndex of
1:Form2.Show;
2:Form3.Show;
3:Form4.Show;
end;
end;