![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как бы запретить изменение 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