PDA

View Full Version : آیتم های Checklistbox



MY DEAR DELPHI
دوشنبه 17 فروردین 1388, 09:37 صبح
سلام
در یک checklistbox که آیتم های آن در حین اجرای برنامه مشخص می شود چطور میتونم در هنگام ثبت، نام Itemی که check خورده را ثبت کنم (یعنی Text اون Item).مشکل کار در اینه که تعداد Item ها ثابت نیست .یعنی می خوام برنامه در هنگام ثبت به تعداد Itemهایی که Check خورده ،Text آنها را ثبت کند

shervin farzin
دوشنبه 17 فروردین 1388, 13:27 عصر
سلام
براي اين كار شما دو راه داريد :
اول اين كه در زماني كه كاربر يه كليد رو فشار داد ، بياد داخل checklistbox تمام آيتم ها رو چك كنه
كه آيا تيك خورده يا نه . مثل كد زير :

var
i: Integer;
begin
for i := 0 to CheckListBox1.Items.Count - 1 do
if CheckListBox1.Checked[i] then
// do something with checked items

راه دوم اينه كه در زماني كه كاربر روي checkbox يك آيتم كليك كرد اگه تيك دارش كرد همون لحظه
نام آيتم رو مثلا به ليست اضافه كنيد . براي اين كار از رويداد onClickCheck مربوط به خود
checklistbox استفاده ميكني . مثل كد زير :

procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
begin
if CheckListBox1.Checked[CheckListBox1.ItemIndex] then
// do somethig with checked item
end;

از روش دوم بيشتر زماني استفاده ميشه كه فقط بخواين تعداد موارد تيك خورده در ليست رو
بشمريد ، اما اگه براي جمع آوري نام هاي موارد انتخاب شده در ليست كم درد سر تره كه از
راه اول استفاده كنيد .
موفق باشيد .