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

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

Как бы запретить изменение TComboBox.Text? [D7, WinXP]


Still Swamp ©   (2006-07-28 17:57:00) 

Как бы запретить изменение TComboBox.Text?


icWasya   (2006-08-02 12:32:00) [1]

а если извращаться до конца, то нарисуй TEdit поверх TComboBox


Степан   (2006-08-02 08:09:00) [2]

> Уточню.
> Мне бы хотелось иметь TMyComboBox который может отработать
> OnDropDown, но при этом что бы Text пользователь модифицировать
> не мог. При этом соблюдалось условие второго поста.


А зачем?.. Это раз. Во-вторых, при выборе из DropDown элемента списка, свойство Text изменяется в соответствии с надписью этого элемента (где-то это уже было :). Это полюбому! Наверно, тебе придется со своими амбициями браться за Canvas, и рисовать все программно, перехватывая такие сообщения, как типа CB_SHOWDROPDOWN и т.д. Удачи!


Ketmar   (2006-07-31 16:03:00) [3]

ну так ответили же. если элементов в списке нет -- Enabled := false; если хоть один добавился -- Enabled := True; и csDropDownList.


Игорь Шевченко   (2006-07-31 15:59:00) [4]

Still Swamp   (31.07.06 15:58) [8]

Если ты в dropdown'е выберешь что-то, то текст поменяется. Это тебя устраивает ?


Still Swamp   (2006-07-31 15:58:00) [5]

Уточню.
Мне бы хотелось иметь TMyComboBox который может отработать OnDropDown, но при этом что бы Text пользователь модифицировать не мог. При этом соблюдалось условие второго поста.


Степан   (2006-07-31 15:53:00) [6]

Слушай, я не пойму, что тебе надо... Вроде, чтоб тест не редактировался!!!


> Просто Enable:=False не даст нажимать кнопочку и OnDropDown
> не вызовается.


А кнопку зачем нажимать, если текст ненадо редактировать? И DrоpDown список выплевывать???


Игорь Шевченко   (2006-07-31 15:11:00) [7]

Still Swamp   (31.07.06 15:08) [5]


> Просто Enable:=False не даст нажимать кнопочку и OnDropDown
> не вызовается.


Весьма вероятно, но ты спросил, как запретить изменение свойства Text, а при выборе из списка свойство Text таки меняется. Поэтому правильный ответ - установить свойство Enabled в False.


Still Swamp   (2006-07-31 15:08:00) [8]

Просто Enable:=False не даст нажимать кнопочку и OnDropDown не вызовается.


Игорь Шевченко   (2006-07-31 12:54:00) [9]

А просто Enabled не подойдет ?


Степан   (2006-07-31 12:46:00) [10]

Style := csDropDownList, но если Items.Count равно 0, то Enabled := False


Still Swamp   (2006-07-30 22:52:00) [11]

Ээээ тоже не вариант. csDropDownList к сожалению всегда отрабатывает выпадение одного пустого элемента, даже в том случае если итемсы пусты.


DimaBr   (2006-07-28 19:41:00) [12]

Style := csDropDownList


Наверх

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