Выделение строк в ListBox (без клавиши Ctrl)
Как реализовать, чтоб в листбоксе можно было выделить несколько строк, так как это происходит с нажатой клавишей Ctrl ? т.е. раз нажал - строка выделилась, второй раз нажал - выделение со строки снялось... Но реализовать не нажимая Ctrl ,ведь если выделять с Ctrl, а потом просто кликнуть по листбоксу, то все выделение слетит... Вот как бы этого избежать?
Цитата: Anton Chik
Как реализовать, чтоб в листбоксе можно было выделить несколько строк, так как это происходит с нажатой клавишей Ctrl ? т.е. раз нажал - строка выделилась, второй раз нажал - выделение со строки снялось... Но реализовать не нажимая Ctrl ,ведь если выделять с Ctrl, а потом просто кликнуть по листбоксу, то все выделение слетит... Вот как бы этого избежать?
Ты хоть сам понял, что именно ты хочешь? Потому как из сообщения понять какое поведение ты ожидаешь от листбокса не возможно. Что нужно - что бы выделение оставалось? Или при клике можно было делать множественное выделение? Или что? Обрабатывай событие onClick (or onMouseDown) - запоминай выделенные элементы - потом обрабатывай клик на конкретном элементе - и востанавливай выделение.
Цитата: Anton Chik
Как реализовать, чтоб в листбоксе можно было выделить несколько строк, так как это происходит с нажатой клавишей Ctrl ? т.е. раз нажал - строка выделилась, второй раз нажал - выделение со строки снялось... Но реализовать не нажимая Ctrl ,ведь если выделять с Ctrl, а потом просто кликнуть по листбоксу, то все выделение слетит... Вот как бы этого избежать?
Слющай, зачем тебе лошад? Пиши "кон" и всё, да? (с) анек.
В подобных случаях я предпочитаю использовать ListView. Устанавливаешь ListView1->Checkboxes = true; ListView1->ViewStyle = vsReport; Теперь юзер может ставить галочки на нужные строки.
спасибо. действительно поторопился. сам дивлюсь... просто нужно было быстрое (и наиболее простое) решение... в конце концов решил все же перелопатить код под CheckListBox