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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2008, 14:15   #1
boostman
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 55
По умолчанию Проблема с ComboBox

Вот такая проблема, я задаю Change для комбобокса, и чтоб при выборе определленого итема появлялся текст, вот код:

Код:
procedure TForm1.combobox1Change(Sender: TObject);
begin
if combobox1.ItemIndex = 0 then
label1.Caption := '1 TEST';
if form1.combobox1.ItemIndex = 1 then
label1.Caption := '2 TEST';


end;
Но все время вылезает надпись 1 TEST при выборе любого итема, подскажите что я делаю не так
boostman вне форума Ответить с цитированием
Старый 09.08.2008, 14:33   #2
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

попробуй в ComboBox.onSelect прописать
подписываюсь

Последний раз редактировалось Банзай; 09.08.2008 в 14:39.
Банзай вне форума Ответить с цитированием
Старый 09.08.2008, 21:47   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Change это событие от Эдита в комбобоксе (комбобокс = эдит + листбокс), то есть оно возникает при вписывании в него, или при выборе, но косвенно, так как при выборе изменяется текст в эдите. Если повторно выбрать тот же пункт, этого события уже не будет.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.08.2008, 03:21   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

boostman, вы можете сделать так:

Код:
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
if combobox1.ItemIndex = 0 then
label1.Caption := '1 TEST';
if form1.combobox1.ItemIndex = 1 then
label1.Caption := '2 TEST';
end;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 10.08.2008, 03:35   #5
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Terran, ваш ответ нельзя считать полностью верным.
Попробуйте стрелками выбрать другой итем.
Правильный ответ был дан ранее Банзай
_Engine_ вне форума Ответить с цитированием
Старый 10.08.2008, 03:58   #6
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

_Engine_, в моём варианте стрелками всё отлично выбирается.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 10.08.2008, 04:02   #7
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Но не меняется содержимое Label.Caption
(Уточнение : имеется в виду выбор стрелками и клавишей Enter)
_Engine_ вне форума Ответить с цитированием
Старый 10.08.2008, 04:15   #8
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от _Engine_ Посмотреть сообщение
Но не меняется содержимое Label.Caption
(Уточнение : имеется в виду выбор стрелками и клавишей Enter)
Вам может показаться мой ответ странным, но у меня всё меняется.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 10.08.2008, 04:22   #9
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Всё, пора мне спать. Действительно, в приведенном вами варианте все отрабатывает как и должно быть.
Приношу свои извинения, за свою невнимательность.
_Engine_ вне форума Ответить с цитированием
Старый 10.08.2008, 07:21   #10
boostman
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 55
По умолчанию

Спасибо за помощь, но тут возникает такая проблема, мне надо поменять надписи допустим у 2 label если выбран определленный итем, но меняется только 1 надпись... как сделать чтоб меняла сразу 2 ???

Код:
 procedure TForm1.ComboBox1Click(Sender: TObject);  
 begin  
if combobox1.ItemIndex = 0 then  
 label1.Caption := '1 TEST';  
 label2.Caption := 'JET';  // Вот это как раз не меняится
  if form1.combobox1.ItemIndex = 1 then  
  label1.Caption := '2 TEST';  
 label2.Caption := 'QWERTY';  // Вот это тоже
 end;
boostman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComboBox Есет Помощь студентам 1 27.03.2008 09:10
Combobox Yana Помощь студентам 5 23.12.2007 02:16
Combobox и иже с ним Shawn Компоненты Delphi 7 13.12.2007 18:15
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45
Проблема с ComboBox.ItemIndex Селезин Общие вопросы Delphi 3 27.10.2007 16:42