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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2010, 16:02   #1
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
Восклицание ComboBox - отключение Item`ов!!!

Меня интересует такой вопрос - реально ли отключить без удаление из списка в данном элементе определьонные пункты??? Допустим у меня в списке 4 элемента - как мне отключить там скажем 2 послежних!!!??? Реально ли применить к ним скажем что-то типа Enabled=false или Visible=false ???!!!
Заранее спасибо!!!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 10.05.2010, 16:41   #2
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Думаю так можно

Код:
case ComboBox1.ItemIndex of
  2,3:ComboBox1.ItemIndex:=-1;
end;
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 10.05.2010, 16:55   #3
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
Думаю так можно

Код:


Код:
case ComboBox1.ItemIndex of
  2,3:ComboBox1.ItemIndex:=-1;
end;
О! Большое спасибо! А если пойти дальше - скажем при активации формы заставить из списка исчезнуть или просто сделать недоступными для нажатия их - ну знаете когда кнопка на форме серого цвета и не нажемаеться?! Или такое в делфи не предусмотрено?!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 10.05.2010, 17:14   #4
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Прям чтобы исчезнуть не знаю. Но если ты пропишешь в обработчике выбора из ComboBox:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
case ComboBox1.ItemIndex of
2,3:ComboBox1.ItemIndex:=-1;
end;
end;
То при нажатии, будь то в конце программы, будь то при активации формы пункты 3,4 (2,3) не будут доступны.
Если тебе надо к примеру чтобы при активации нельзя было выбирать эти пункты, то можно обойтись одной переменной.
Допустим при создании формы, признаку присвоить истину, а при нажатии на кнопку, ну или после какого-то действия, после которого должен быть доступен выбор 3,4 (2,3) пунктов, этому признаку присвоить ложь.
Ну к примеру:

Код:
......
var 
      Form1:TForm1;
      pr:boolean;
.....................
.....................    
procedure TForm1.FormCreate(Sender: TObject);
begin
  pr:=true;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  if pr then
  case ComboBox1.ItemIndex of
  2,3:ComboBox1.ItemIndex:=-1;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  pr:=false;
end;
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 10.05.2010, 17:26   #5
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Про то как организовать

Код:
case ComboBox1.ItemIndex of
  2,3:ComboBox1.ItemIndex:=-1;
end;
єто то мне понятно! Я просто думал можна сделать то о чём я писал но єто наверное я слишком много хочу!!!))) Хотя.....думаю можна былобы програмно удалить и добавить нужное количество строк в комбобокс!!! И я бы полчил нужный мне результат!! Наверное стоит попробывать!!!))
Всё равно спасибо)!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 10.05.2010, 17:30   #6
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Удалять программно можно, если так, то вот.

ComboBox1.Items.Delete(2);//удаляет строку в скобках
ComboBox1.Items.Add('строка');

я не так понял просто
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 10.05.2010, 17:34   #7
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

............
ICQ 594 237 582

Последний раз редактировалось Жека-старший; 10.05.2010 в 17:36.
Жека-старший вне форума Ответить с цитированием
Старый 10.05.2010, 17:34   #8
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

еще есть ComboBox1.items.Insert(index:intege r; Str:string);
ComboBox1.Items.Insert(1,'Привет');
все строки начиная с 1 сдвинет вниз, и стане на 1-ую Привет
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 10.05.2010, 18:03   #9
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Вобщем придумать можно что-то)))!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
item s1s1s1 Общие вопросы Delphi 2 07.10.2009 13:44
Порядковый номер item-a. blackstersl Общие вопросы Delphi 1 05.06.2009 20:55
Задача переменным значений для разных Item-ов Combobox-а Stalker209 Общие вопросы C/C++ 0 24.03.2009 12:22
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45
EXECнуть ITEM от ShellListView ЧИЖ Компоненты Delphi 6 02.07.2007 09:43