Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Вниз

Как сделать неактивным 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.046 c
14-1106241672
Denis_
2005-01-20 20:21
2005.02.13
WIndows Xp ,NTFS


1-1106592290
e-statik
2005-01-24 21:44
2005.02.13
а ПОДСКАЖИТЕ компонент сплиттер чтоб ресайзить окна как в 3DMAXe?


14-1106111354
YurikGL
2005-01-19 08:09
2005.02.13
Как раскрутить сайт?


8-1099003861
GuestTM
2004-10-29 02:51
2005.02.13
Как запустить скринсейвер .SCR на форму в приложении???


14-1106583118
Кирилл
2005-01-24 19:11
2005.02.13
@ Dreamcast





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский