![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CheckListBox - принудительный скроллинг? [D3, D5, Win95/98, Win2k]
Fishka © (2002-09-18 14:04:00)Отмечаю элемент в конце списка. По нажатию одной из клавиш размер CheckListBox-а уменьшаю (надо так). Выделенный элемент CheckListBox-а становится вне области видимости (где-то ниже).
Что мне сделать, чтобы при изменениях размера CheckListBox-а выделенный элемент всегда был виден на экране?
(Что-то типа принудительной прокрутки.)
Ученик (2002-09-20 16:35:00) [1]>Kibitzer (20.09.02 16:18)
:-)
Kibitzer (2002-09-20 16:18:00) [2]
> Ученик © (19.09.02 16:38)
> SendMessage(CheckListBox1.Handle, LB_SETTOPINDEX, CheckListBox1.ItemIndex, 0);
Нююю, это можно сделать и проще:CheckListBox1.TopIndex := CheckListBox1.ItemIndex
А вот более корректно, помоему так:
ifCheckListBox1.MultiSelect
thenSendMessage(CheckListBox1.Handle, LB_SETCARETINDEX, CheckListBox1.ItemIndex, 0)
elseSendMessage(CheckListBox1.Handle, LB_SETCURSEL, CheckListBox1.ItemIndex, 0);
Fishka (2002-09-20 09:51:00) [3]Спасибо. Это кажется то, что нужно.
Ученик (2002-09-19 16:38:00) [4]SendMessage(CheckListBox1.Handle, LB_SETTOPINDEX, CheckListBox1.ItemIndex, 0);
Fishka (2002-09-19 16:29:00) [5]Очень хочется получить совет ....
Fishka (2002-09-18 15:04:00) [6]ItemIndex в этот момент и так равен номеру текущего выделенного элемента, но сам Item вне области видимости.
Song (2002-09-18 14:32:00) [7]Установить на него TCheckListBox.ItemIndex