Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2015, 09:40   #11
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Тогда KeyUp. Ибо клик обрабатывается в момент нажатия, когда CheckBox ещё не переключился.
WinCoder вне форума Ответить с цитированием
Старый 03.01.2015, 10:37   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Тогда KeyUp. Ибо клик обрабатывается в момент нажатия, когда CheckBox ещё не переключился.
Ну да, с каких это пор? OnClick как раз для этого случая, не веришь, проверь:
Код:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  Label1.Caption:=IntToStr(Ord(CheckBox1.Checked));
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.01.2015, 14:37   #13
Акрам9898
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну да, с каких это пор? OnClick как раз для этого случая, не веришь, проверь:
Код:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  Label1.Caption:=IntToStr(Ord(CheckBox1.Checked));
end;
Ну да вообще то. Тут полюбому OnClick самое подходящее
Акрам9898 вне форума Ответить с цитированием
Старый 03.01.2015, 15:18   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Акрам9898
А зачем так понадобилось делать, если не секрет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.01.2015, 16:23   #15
Акрам9898
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 13
По умолчанию

Нашел сам решение. Конечно пришлось повозиться с условиями, но работает норм. Да, и к тому же на checkbox1 создается сразу 3 столбца
Код:
procedure TForm1.sCheckBox1Click(Sender: TObject);
begin
  if (sCheckBox2.Checked=False) and (sCheckBox3.Checked=False) then
 begin
  if sCheckBox1.Checked then
  begin
   sListView1.Columns.Add.Caption:='Строка1_1';
   sListView1.Columns.Add.Caption:='Строка1_2';
   sListView1.Columns.Add.Caption:='Строка1_3';
  end
  else

  begin
   sListView1.Column[2].Free;
   sListView1.Column[2].Free;
   sListView1.Column[2].Free;
  end;
 end;

 if (sCheckBox2.Checked) and (sCheckBox3.Checked=False) then
 begin
  if sCheckBox1.Checked then
  begin
   sListView1.Column[2].Caption:='Строка1_1';
   sListView1.Columns.Add.Caption:='Строка1_2';
   sListView1.Columns.Add.Caption:='Строка1_3';
   sListView1.Columns.Add.Caption:='Строка2';
  end
  else

  begin
   sListView1.Column[2].Caption:='Строка2';
   sListView1.Column[3].Free;
   sListView1.Column[3].Free;
   sListView1.Column[3].Free;
  end;
 end;

 if (sCheckBox2.Checked=False) and (sCheckBox3.Checked) then
 begin
  if sCheckBox1.Checked then
  begin
   sListView1.Column[2].Caption:='Строка1_1';
   sListView1.Columns.Add.Caption:='Строка1_2';
   sListView1.Columns.Add.Caption:='Строка1_3';
   sListView1.Columns.Add.Caption:='Строка3';
  end
  else

  begin
   sListView1.Column[2].Caption:='Строка3';
   sListView1.Column[3].Free;
   sListView1.Column[3].Free;
   sListView1.Column[3].Free;
  end;
 end;

 if (sCheckBox2.Checked) and (sCheckBox3.Checked) then
 begin
  if sCheckBox1.Checked then
  begin
   sListView1.Column[2].Caption:='Строка1_1';
   sListView1.Columns[3].Caption:='Строка1_2';
   sListView1.Columns.Add.Caption:='Строка1_3';
   sListView1.Columns.Add.Caption:='Строка2';
   sListView1.Columns.Add.Caption:='Строка3';
  end
  else

  begin
   sListView1.Column[2].Caption:='Строка2';
   sListView1.Columns[3].Caption:='Строка3';
   sListView1.Column[4].Free;
   sListView1.Column[4].Free;
   sListView1.Column[4].Free;
  end;
 end;
end;

procedure TForm1.sCheckBox2Click(Sender: TObject);
begin
 if (sCheckBox1.Checked) and (sCheckBox3.Checked=False) then
 begin
  if sCheckBox2.Checked then sListView1.Columns.Add.Caption:='Строка2'
  else sListView1.Column[5].Free;
 end;

 if (sCheckBox1.Checked=False) and (sCheckBox3.Checked) then
 begin
  if sCheckBox2.Checked then
  begin
   sListView1.Column[2].Caption:='Строка2';
   sListView1.Columns.Add.Caption:='Строка3';
  end
  else

  begin
   sListView1.Column[2].Caption:='Строка3';
   sListView1.Column[3].Free;
  end;
 end;

 if (sCheckBox1.Checked) and (sCheckBox3.Checked) then
 begin
  if sCheckBox2.Checked then
  begin
   sListView1.Column[5].Caption:='Строка2';
   sListView1.Columns.Add.Caption:='Строка3';
  end
  else

  begin
   sListView1.Column[5].Caption:='Строка3';
   sListView1.Column[6].Free;
  end;
 end;

  if (sCheckBox1.Checked=False) and (sCheckBox3.Checked=False) then
 begin
  if sCheckBox2.Checked then sListView1.Columns.Add.Caption:='Строка2'
  else sListView1.Column[2].Free;
 end;

end;

procedure TForm1.sCheckBox3Click(Sender: TObject);
begin
  if (sCheckBox1.Checked=False) and (sCheckBox2.Checked=False) then
 begin
  if sCheckBox3.Checked then sListView1.Columns.Add.Caption:='Строка3'
  else sListView1.Column[2].Free;
 end;

 if (sCheckBox1.Checked) and (sCheckBox2.Checked=False) then
 begin
  if sCheckBox3.Checked then sListView1.Columns.Add.Caption:='Строка3'
  else sListView1.Column[5].Free;
 end;

 if (sCheckBox1.Checked=False) and (sCheckBox2.Checked) then
 begin
  if sCheckBox3.Checked then sListView1.Columns.Add.Caption:='Строка3'
  else sListView1.Column[3].Free;
 end;

 if (sCheckBox1.Checked) and (sCheckBox2.Checked) then
 begin
  if sCheckBox3.Checked then sListView1.Columns.Add.Caption:='Строка3'
  else sListView1.Column[6].Free;
 end;
end;

Последний раз редактировалось Акрам9898; 03.01.2015 в 16:27.
Акрам9898 вне форума Ответить с цитированием
Старый 03.01.2015, 16:26   #16
Акрам9898
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А зачем так понадобилось делать, если не секрет?
Да я вот пишу одну програмку, где нужно выводить определенные данные. Ну и следовательно, если активны чекбоксы, то добавлять доп. данные
Акрам9898 вне форума Ответить с цитированием
Старый 03.01.2015, 17:01   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ну и следовательно, если активны чекбоксы, то добавлять доп. данные
Да, но почему сразу не сделать три колонки? Зачем их удалять-создавать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.01.2015, 17:11   #18
Акрам9898
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Да, но почему сразу не сделать три колонки? Зачем их удалять-создавать?
Ну незнаю, мне так как то больше нравится. Поудобней так что ли))
Акрам9898 вне форума Ответить с цитированием
Старый 03.01.2015, 17:51   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тады вопросв нет. Удобство - фактор сурьезный.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помошь юрий14 Помощь студентам 5 20.03.2014 06:53
Программа написанна Delphi нужна помошь по доработке Able2Know Фриланс 4 28.07.2011 12:12
Нужна помошь по progressbar в delphi hodas4 Помощь студентам 4 11.05.2011 12:52
Нужна помошь!!! MuRDoK Паскаль, Turbo Pascal, PascalABC.NET 0 08.05.2009 01:05
Нужна помошь с c++ Sanctus Общие вопросы C/C++ 3 02.10.2008 03:22