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

Вниз

Как в listbox узнать номер последней выделенной строки?   Найти похожие ветки 

 
raidan   (2003-12-29 22:25) [0]

Вот и весь вопрос. Очень интересно просто.


 
Stilgar   (2003-12-29 23:17) [1]

var
I, Last: Integer;
begin
for I:=0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[I] then
Last:=I;
end;


 
Anatoly Podgoretsky   (2003-12-29 23:44) [2]

Это же ошибочно, если таких не будет, то LAST не определен.
Неоптимально

Last := -1;
for I := ListBox1.Items.Count-1 to 0 do
if ListBox1.Selected[I] then
begin
Last := I;
Break;
end;
end;


 
Adil Aliyev   (2003-12-30 01:36) [3]

ListBox1.ItemIndex;

Даст тебе индекс выдленной строки


 
Германн   (2003-12-30 02:13) [4]

2 Adil Aliyev (30.12.03 01:36) [3]
А как насчет MultiSelect=True?


 
Adil Aliyev   (2003-12-30 02:45) [5]

"Как в listbox узнать номер последней выделенной строки?"

Все работает правильно.


 
CTAPbIi   (2003-12-30 09:58) [6]

ListBox1.ItemIndex дает номер не последней (нижней) из списка выделенных строк, а номер строки, выделенной последней по времени (последней, по которой ты "кликнул")


 
CTAPbIi   (2003-12-30 10:01) [7]

Кстати, она может быть даже совсем не выделена!


 
miracle_fox   (2003-12-30 12:08) [8]

есть такой ещё вопрос: имеется popupmenu. что, например, нужно сделать, чтобы когда просто кликаешь на листобоксе - то некоторые строки(итемз у этого меню) popupmenu неактивными были, а когда выделяешь в listbox какой-нить итем, то чтобы активными становились все? думаю вопрос понятен... помогите, если знаете как. спасибо


 
Плохиш_   (2003-12-30 12:14) [9]

>Anatoly Podgoretsky © (29.12.03 23:44) [2]

Ээээ for I := ListBox1.Items.Count-1 downto 0 do ?


 
Плохиш_   (2003-12-30 12:17) [10]

>miracle_fox © (30.12.03 12:08) [8]

> нужно сделать, чтобы когда просто кликаешь на листобоксе
> - то некоторые строки(итемз у этого меню) popupmenu неактивными
> были

Вообще-то, когда кликаешь, уже что-то выделяется

PS. .Enabled := true/false


 
Anatoly Podgoretsky   (2003-12-30 12:18) [11]

Плохиш_ (30.12.03 12:14) [9]
Нуда опечатка


 
Serge   (2003-12-30 12:18) [12]

PopUpMenu1.Items[i].Enabled:=ListBox1.ItemIndex > -1 ?


 
Юрий Зотов   (2003-12-30 12:19) [13]

> miracle_fox © (30.12.03 12:08) [8]
Пишете обработчик OnPopup и там делаете все, что нужно.

> Плохиш_ (30.12.03 12:14) [9]
Именно так. А что Вас смущает?


 
Плохиш_   (2003-12-30 12:22) [14]

>Юрий Зотов © (30.12.03 12:19) [13]

> > Плохиш_ (30.12.03 12:14) [9]
> Именно так. А что Вас смущает?

Меня не смущает, я вообще чисто поправил, без задней мысли :-)
А то ведь студенты не поймут ;-)


 
Anatoly Podgoretsky   (2003-12-30 12:27) [15]

Смущает Anatoly Podgoretsky © (29.12.03 23:44) [2], поправил правильно.


 
Юрий Зотов   (2003-12-30 12:42) [16]

> Плохиш_ (30.12.03 12:22) [14]
> Anatoly Podgoretsky © (30.12.03 12:27) [15]

Понял. А я ведь тоже не заметил.
:о)


 
raidan   (2003-12-30 13:03) [17]

ЭЭЭЭЭ, граждане :)))))
Всем спасибо :)))
Нужно было узнать номер действительно _последней_ выделенной строки (ПО ВРЕМЕНИ ПОСЛЕДНЕЙ!!!!!).
Я сам виноват, не уточнил.
Хотя правда уже сам допер до этого :)
В itemDraw покопался, если кому интересно, могу нарисовать тут, как это делается.
Кстати, multiselected=true :)


 
raidan   (2003-12-30 13:08) [18]

И на засыпку.
Мой способ позволяет узнать номер последней (по времени) выделенной строки (MultiSelect=true) независимо от способа выделения (клавиатура, мышь Ctrl+, Shift+), порядка и т.д.
Можете предложить свой способ?


 
Anatoly Podgoretsky   (2003-12-30 13:16) [19]

raidan © (30.12.03 13:03) [17]
Последня по времени ItemIndex


 
CTAPbIi   (2003-12-30 13:26) [20]

ItemIndex дает номер строки на которая имеет фокус (по которой кликнули последней). Она может быть и не выделена при MultiSelect=true.

"...If the value of the MultiSelect property is True the user can select more than one item in the list box. In this case, the ItemIndex value is the index of the selected item that has focus..."


 
raidan   (2003-12-30 14:12) [21]

CTAPbIi прав.

ItemIndex действительно дает номер строки, которая имеет фокус, но то, что строка, имеющая фокус, будет последней выделенной - ОТНЮДЬ НЕ ФАКТ!
Можете проверить сами ;)



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
6-37820
Сергей Н.
2003-10-03 09:42
2004.01.13
Как получить локальный IP адрес


1-37740
CTAPbIi
2003-12-30 09:50
2004.01.13
Изменение цвета и размеров scrollbars


6-37841
Dmitriy_R
2003-11-13 09:17
2004.01.13
ServerSocket и THread


8-37801
Tahion2
2003-09-06 13:54
2004.01.13
Конвертирование png2ico


4-37982
Rog
2003-11-05 08:16
2004.01.13
Запись CD





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский