Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ПАМАГИТЕ!!! как убрать на время из combobox пункты  (Прочитано 10967 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mozgobol
Участник

ru
Offline Offline

« : 11-03-2006 20:50 » 

в общем мне надо чтобы при нажатии кнопки из некоторых combobox  убирались пункты или становились недоступными, но при нажатии на другую кнопку они становились снова доступными
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #1 : 11-03-2006 20:55 » new

mozgobol, можно заполнять комбу либо одним списком строк, либо другим
Записан

mozgobol
Участник

ru
Offline Offline

« Ответ #2 : 11-03-2006 20:56 » 

а как это сделать?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 11-03-2006 21:09 » 

Насколько помню Delphi. Вроде как в ComboBox списки строятся через экземпляр класса TList . Помоему называется List. Работай с этим  списком. Хелп почитай по TList.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
mozgobol
Участник

ru
Offline Offline

« Ответ #4 : 11-03-2006 21:10 » 

был бы хелп на русском другое дело, а так труба
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #5 : 11-03-2006 21:17 » 

mozgobol, ещё вариант (но грубый): две комбы, заполнены по разному. Одна из них скрыта, другая видна. Нажали кнопу - видимость поменялась
Записан

mozgobol
Участник

ru
Offline Offline

« Ответ #6 : 11-03-2006 21:19 » 

нее, это не вариан, не дело так.. не красиво
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #7 : 11-03-2006 21:56 » 

Offtopic:

Эх, говорила мне мама, Учи английский. (с) Фильм "Одиночное плавоние" Улыбаюсь
Поставлю в угол.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #8 : 11-03-2006 21:57 » 

Finch, ты тоже не по дельфям? Улыбаюсь
Записан

Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #9 : 11-03-2006 22:02 » 

Года 4 не пишу уже на Дельфях. Просто уже не помню тонкостей. Но работа с списком TList тривиальна.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #10 : 12-03-2006 01:41 » 

все итемсы у TComboBox хранятся в классе Items: TStrings, имеющим дивное свойство: Text: string.

делаем примерно так:

Код:
const
  csItemsList1: string = '1'#13'2'#13'3';
  csItemsList2: string = 'a'#13'b'#13'c';
...
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Items.Text := csItemsList1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ComboBox1.Items.Text := csItemsList1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ComboBox1.Items.Text := csItemsList2;
end;

по кликам на педали Button1 и Button2 в комбобокс засовывается список соотв. итемов.

итемы в строке разделяются возвратом каретки: #13.
« Последнее редактирование: 19-12-2007 22:15 от Алексей1153++ » Записан

Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 12-03-2006 17:09 » 

х77, если быть точным, то Items - не в класс, а cвойство. Класс TStrings. Т.е. перефразируем
Цитата
все итемсы у TComboBox хранятся в классе Items: TStrings,
в следующее:
Доступ к строкам у TComboBox возможен через свойство Items класса TStrings,
Улыбаюсь) Последнее время болезненно отношусь к формулировкам.
Записан

Ёжики, это не только ценные шкурки...
zubr
Модератор

by
Offline Offline
Пол: Мужской

« Ответ #12 : 12-03-2006 17:16 » 

Ну можно и через списки:
Код:

var
  Spisok1:TStringList;
  Spisok2:TStringList;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Items.Assign(Spisok1);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ComboBox1.Items.Assign(Spisok1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ComboBox1.Items.Assign(Spisok2);
end;
Или можно удалять и добавлять строки в комбобокс:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 ComboBox1.Items.Delete(2);//удаление строки с индексом 2 (индексация с 0)
 ComboBox1.Items.Insert(2, 'Новая строка');
end;
Можешь скачать res6.narod.ru/help/Help.zip русский Help Архангельского для Delphi6, встраивающийся в среду разработки.  Это не демо-версия, полностью функциональная крякнутая версия.
« Последнее редактирование: 19-12-2007 22:17 от Алексей1153++ » Записан
mozgobol
Участник

ru
Offline Offline

« Ответ #13 : 14-03-2006 01:41 » 

огромное спасибо!!! большушие благодарности!!! отдельный респект за хелп!!! вот терь я рад безумно!!!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines