Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > помогите с checklistbox


Автор: студентННК 14.10.2008, 13:58
подскажите как в checklistboxе можно было бы делать следующее. есть checkistbox. в нем 30 итемок.как сделать чтобы максимальное количество выделяемых итемок было 10?то есть больше 10 уже выделять нельзя

Автор: BaD_SeCt0R 14.10.2008, 14:31
10 первых или 10 всего?

Автор: vladimir74 14.10.2008, 15:34
можно завести переменную, и проверять не равна ли она 10. Если равна - выводить сообщение и т.д. Изменять переменную в onClick...

Автор: BaD_SeCt0R 14.10.2008, 15:47
А вообще, циклом на каждый OnClick считать все пункты, которые Checked и проводить проверку

Автор: Poseidon 14.10.2008, 16:15
SelCount

Автор: morpheyushka 14.10.2008, 16:33
Цитата(Poseidon @  14.10.2008,  16:15 Найти цитируемый пост)
SelCount

Не поможет!!!!

Используй свойство OnClickCheck
В обработчик этого события вставь код:
Код

procedure TForm9.CheckListBox1ClickCheck(Sender: TObject);
var
  i, CountCheck: Integer;
begin
  CountCheck := 0;
  for i := 0 to CheckListBox1.Items.Count - 1 do
    if CheckListBox1.Checked[i] then
      Inc(CountCheck);
  if CountCheck > 10 then
    begin
      CheckListBox1.Checked[CheckListBox1.ItemIndex] := false;
      ShowMessage('Куда разогнался - больше десяти нельзя!');
    end;
end;

Автор: THandle 14.10.2008, 17:00
Код

procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
{$J+}
const
  CheckedCount: Integer = 0;
{$J-}
begin
  with CheckListBox1 do
    if Checked[ItemIndex] then
      if CheckedCount = 10 then
        Checked[ItemIndex] := False
      else
        Inc(CheckedCount)
    else
      Dec(CheckedCount);
end;

Автор: Poseidon 14.10.2008, 23:52
Так... либо я чего-то недопонял, либо вы. Но в первом посте ясно вказано:
Цитата(студентННК @  14.10.2008,  13:58 Найти цитируемый пост)
как сделать чтобы максимальное количество выделяемых итемок было 10?то есть больше 10 уже выделять нельзя 
Checked - это явно не выделение.

Автор: студентННК 15.10.2008, 09:06
всем спасибо. все работает.

Автор: morpheyushka 15.10.2008, 10:30


Цитата(Poseidon @  14.10.2008,  23:52 Найти цитируемый пост)
Так... либо я чего-то недопонял, либо вы. Но в первом посте ясно вказано:
Цитата(студентННК @  14.10.2008,  13:58 Найти цитируемый пост)
как сделать чтобы максимальное количество выделяемых итемок было 10?то есть больше 10 уже выделять нельзя 
Checked - это явно не выделение.


Если говорить о том, что написал автор, то Вы правы - но тут автор должен пинок получить, так как не правильно выразился. Он должен был написать "количество отмеченных итемов" smile 


Цитата(студентННК @  15.10.2008,  09:06 Найти цитируемый пост)
всем спасибо. все работает. 

поздравляю...вот если бы Вы еще тему закрыли - цены бы Вам не было

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)