Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Combobox


Шакал ©   (2007-05-10 12:17:00) 

Подскажите плиз что не так
есть combobox в свойствах items к примеру 1,2,3
есть 3 лебола и 3 эдита(по умолчанию visible:=false) нужно что бы при выборе в боксе 1 - отображались 1-й лейбл и 1-й эдит, при выборе 2 - отображался и 1-й и 2-й лейбл+эдит, и соответсвенно 3-й также...
код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if combobox1.Text='1' then
label1.Visible:=true;
edit1.Visible:=true;

if combobox1.Text='2' then
label1.Visible:=true;
edit1.Visible:=true;
label2.Visible:=true;
edit2.Visible:=true;

if combobox1.Text='3' then
label1.Visible:=true;
edit1.Visible:=true;
label2.Visible:=true;
edit2.Visible:=true;
label3.Visible:=true;
edit3.Visible:=true;

end;

при выборе любого значения отображаются все 3....
P.S. наверно код кривыми руками написан :^)


{RASkov}   (2007-05-10 13:02:00) [1]

> [8] Плохиш ©   (10.05.07 12:57)
>А смайлик я там, думаешь, просто так поставил?

Ну дык и я этими смайликами по той же причине обставился.... Excuse me for [5]:)


Плохиш   (2007-05-10 12:57:00) [2]


> {RASkov} ©   (10.05.07 12:54) [7]


> Но...

А смайлик я там, думаешь, просто так поставил?


{RASkov}   (2007-05-10 12:54:00) [3]

> [4] Плохиш ©   (10.05.07 12:28)

Ай.яй-яй, понял смысл твоего топика. :) Но...
Если в ComboBox1.ItemIndex = -1  у меня первый спрячется, а у тебя нет ;)
Остальное согласен, просто когда писал в мыслях крутилось сначало, что нужно 1 пару показывать(Едит+Лабел) в зависимости от индекса
Т.е. типа label2.Visible:=ComboBox1.ItemIndex=1; и label3.Visible:=ComboBox1.ItemIndex=2;

> [6] Шакал ©   (10.05.07 12:46)

Мне то зачем? :) и все ж лучше для первых
label1.Visible:=ComboBox1.ItemIndex>=0;
edit1.Visible:=label1.Visible;


Шакал   (2007-05-10 12:46:00) [4]


> RASkov

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
label1.Visible:=true;
edit1.Visible:=label1.Visible;
label2.Visible:=ComboBox1.ItemIndex>0;
edit2.Visible:=label2.Visible;
label3.Visible:=ComboBox1.ItemIndex>1 ;
edit3.Visible:=label3.Visible;
end;
Работает :) спасибо!!!
И всем спасибо за учатие:)


{RASkov}   (2007-05-10 12:44:00) [5]

> [4] Плохиш ©   (10.05.07 12:28)
> Условие не выполнил

> Для первого всегда true

label1.Visible:=ComboBox1.ItemIndex=0;
Это как - если ComboBox1.ItemIndex:=1 например.
и далее...
> Для второго - если ItemIndex > 0

и <2.... для 3 и <3
???
Более того предупредил, чтоб если необходимо то условия подправить нужно ;)


Плохиш   (2007-05-10 12:28:00) [6]


> {RASkov} ©   (10.05.07 12:24) [3]

Условие не выполнил
Для первого всегда true :-)
Для второго - если ItemIndex > 0
Для третьего - если ItemIndex > 1


{RASkov}   (2007-05-10 12:24:00) [7]

label1.Visible:=ComboBox1.ItemIndex=0;
edit1.Visible:=label1.Visible;
label2.Visible:=ComboBox1.ItemIndex<2 and ComboBox1.ItemIndex>=0;
edit2.Visible:=label2.Visible;
label3.Visible:=ComboBox1.ItemIndex<3 and ComboBox1.ItemIndex>=0;
edit3.Visible:=label3.Visible;
Условия подправь если надо....


Elen   (2007-05-10 12:22:00) [8]


>  код кривыми руками написан :^)

кривыми эт точно - после then кто будет бегины_энды ставить, чтоб эти твои манипуляции с visible в блоке делались?


Elen   (2007-05-10 12:22:00) [9]

И кстати я здесь вижу только показ, а где скрытие?


Наверх

Титульная страница Поиск, карта сайта Написать письмо