Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Как сделать неактивным Items в TListBox   Найти похожие ветки 

 
Alex_pv2 ©   (2005-01-22 21:38) [0]

Как сделать неактивным выбранный Items в TListBox?


 
Piter ©   (2005-01-22 21:50) [1]

ListBox1.ItemIndex := -1 ; ?


 
Alex_pv2 ©   (2005-01-22 21:54) [2]

Piter ©   (22.01.05 21:50) [1]
ListBox1.ItemIndex := -1 ; ?

Это типа снять выделение. Я наверное не совсем правильно выразился. Есть замечательное такое свойство Enabled но если написать
ListBox1.Enabled:=false
то неактивным станет полностью компонент, а мне нужно что бы имено один выбранные Items стал недоступен


 
Marser ©   (2005-01-22 21:57) [3]

Что мешает сделать это програмно в обработчике?


 
Alex_pv2 ©   (2005-01-22 22:00) [4]

Marser ©   (22.01.05 21:57) [3]
Что мешает сделать это програмно в обработчике?

Нехватка знаний, помог бы примерчиком
Или ты имеешь ввиду типа обрабатывать при клике на Items"e сделали выбор до этого.


 
Piter ©   (2005-01-22 22:35) [5]

Alex_pv2 ©   (22.01.05 21:54) [2]
а мне нужно что бы имено один выбранные Items стал недоступен


хм, мне кажется нет такого в listbox. Это только если свой компонент писать, со своей отрисовкой.

А зачем такое нужно? Зачем нужен в списке элемент, который нельзя выбрать? Честно говоря, я таких списков, по-моему, и не видел никогла


 
Marser ©   (2005-01-22 23:28) [6]

Можно вот так в нужные обработчики:

if Lb.selected[n] then lb.itemindex:=n+1


 
Piter ©   (2005-01-23 00:15) [7]

Marser ©   (22.01.05 23:28) [6]

я так понимаю, что нужный элемент просто должен быть неактивным, ну типа таким серым цветом.

Иначе вообще путаница будет - кликаешь на элемент, а курсор на одну позицию ниже съезжает...


 
Marser ©   (2005-01-23 00:41) [8]


> Piter ©   (23.01.05 00:15) [7]
> Marser ©   (22.01.05 23:28) [6]
>
> я так понимаю, что нужный элемент просто должен быть неактивным,
> ну типа таким серым цветом.

Может быть... Лично для меня неактивность это именно нефункциональность.


 
Piter ©   (2005-01-23 01:08) [9]

Marser ©   (23.01.05 0:41) [8]
Может быть... Лично для меня неактивность это именно нефункциональность


правильно. Только представь ситуации. Ты выбираешь элемент в ListBox, а курсор съезжает вниз. Ты бы разве не удивился?

Аналогично можно привести пример с CheckBox. Вот ты кликаешь на него, ставишь галочку, а галочка тут же снимается - представляешь? Ты опять кликаешь, чтобы поставить галочку - а она на секунду появляется и опять снимается сама. Я бы офигел.

А когда CheckBox просто неактивен (серым цветом), когда по нему даже кликнуть нельзя - тут сразу понятно - недоступно.


 
Marser ©   (2005-01-23 01:12) [10]


> Piter ©   (23.01.05 01:08) [9]

Тады прорисовка в OnPaint...


 
Piter ©   (2005-01-23 01:37) [11]

Marser ©   (23.01.05 1:12) [10]
Тады прорисовка в OnPaint...


ну да. Только не OnPaint, а в OnDrawItem с включенным стилем lbOwnerDrawFixed


 
Просто Джо ©   (2005-01-23 01:42) [12]

Может быть, имеется что-то вроде TCheckListBox.Header[N] ? Для разделителей строк параметров?


 
Piter ©   (2005-01-23 02:01) [13]

Просто Джо ©   (23.01.05 1:42) [12]

я тебя не понял, что ты хотел донести...


 
Просто Джо ©   (2005-01-23 02:48) [14]

Piter ©   (23.01.05 02:01) [13]

Для меня неясно предназначение [0]. Предполагаю, что, возможно, имеется ввиду поведение и назначение, аналогичное  TCheckListBox.Header[N] .
Всего лишь мое предположение и полувопрос автору топика.


 
KilkennyCat ©   (2005-01-23 02:54) [15]

Если Неактивность = Нефункциональность, то на него вообще нельзя кликнуть. При попытки кликнуть на неактивный, выделение должно остатьтся на текущем выделенном, это будет корректно.


 
Alex_pv2 ©   (2005-01-23 07:29) [16]

Просто Джо ©   (23.01.05 02:48) [14]
Да действительно имеется ввиду нечто подобное
А нужно сие по постановке задачи. Дабы пользователь мог выбрать значение только один раз, а делать как было предложено Marser © 22.01.05 23:28) [6] потом придеться видеть испуг в глазах пользователя :)


 
SlyFox ©   (2005-01-23 07:59) [17]

Alex_pv2 ©   (23.01.05 7:29) [16]
Дабы пользователь мог выбрать значение только один раз

А может просто удалить этот итэм в нужный момент, дабы пользователь больше не смог его выбрать? :)


 
Alex_pv2 ©   (2005-01-23 08:28) [18]

SlyFox ©   (23.01.05 07:59) [17]
ЛОГИЧНО


 
Marser ©   (2005-01-23 12:01) [19]


> Piter ©   (23.01.05 01:37) [11]
> Marser ©   (23.01.05 1:12) [10]
> Тады прорисовка в OnPaint...
>
> ну да. Только не OnPaint, а в OnDrawItem с включенным стилем
> lbOwnerDrawFixed

Тоже дело! Просто я TListBox и иже с ним так глубоко не занимался. Я его вообще больше для отладки использую...

> KilkennyCat ©   (23.01.05 02:54) [15]
> Если Неактивность = Нефункциональность, то на него вообще
> нельзя кликнуть. При попытки кликнуть на неактивный, выделение
> должно остатьтся на текущем выделенном, это будет корректно.

Правильно. Признаю свою ошибку.


 
aus   (2005-01-23 12:15) [20]

Как выяснилось в другой ветке, автор ветки перепутал ListBox и ComboBox.


 
Marser ©   (2005-01-23 12:22) [21]


> aus   (23.01.05 12:15) [20]
> Как выяснилось в другой ветке, автор ветки перепутал ListBox
> и ComboBox.

LOL



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.027 c
1-1107019302
SilverDragon
2005-01-29 20:21
2005.02.13
Создание массива компонетов


8-1099063072
Никита
2004-10-29 19:17
2005.02.13
Ввод текста в TImage


14-1106585384
Pat
2005-01-24 19:49
2005.02.13
Настройка сети


3-1105554636
MNz
2005-01-12 21:30
2005.02.13
Удаление записи


4-1103568134
WandR
2004-12-20 21:42
2005.02.13
Загрузчик ехе