Форум: "Начинающим";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
ВнизПро Listbox Найти похожие ветки
← →
kirik (2006-09-15 14:35) [0]Есть ListBox. А как сделать так, чтобы выделялась всегда самая последняя видимая строчка?
← →
kirik (2006-09-15 14:45) [1]И ещё, как определить строчку, на которой находится мышь?
← →
Zeqfreed © (2006-09-15 14:49) [2]
if (ListBox.Items.Count > 0) then
ListBox.ItemIndex := ListBox.Items.Count - 1;
ListBox.ItemAtPos();
← →
kirik (2006-09-15 14:52) [3]Я имею в виду мышь движущаяся, а не выделенную строчку...
И не ПОСЛЕДНЮЮ ЗАПИСЬ, а ПОСЛЕДНЮЮ ВИДИМУЮ в данном месте листа... то есть в нижний край...
← →
Zeqfreed © (2006-09-15 14:56) [4]> Я имею в виду мышь движущаяся, а не выделенную строчку...
ListBox.ItemAtPos();
> И не ПОСЛЕДНЮЮ ЗАПИСЬ, а ПОСЛЕДНЮЮ ВИДИМУЮ в данном месте
> листа... то есть в нижний край...
ListBox.ItemAtPos();
← →
kirik (2006-09-15 14:58) [5]Хорошо, пусть так. Ну а как я узнаю индекс последнего видимого итема? Height div ItemHeight?
← →
kirik (2006-09-15 14:59) [6]О как...
← →
Джо © (2006-09-15 14:59) [7]Можно еще через TopIndex.
← →
kirik (2006-09-15 15:01) [8]Это чего такое?
Кстати, она у меня только фокус выделения рисует :(
← →
Zeqfreed © (2006-09-15 15:17) [9]
function SelectBottommostVisibleItem(ListBox : TListBox) : Integer;
var
Idx : Integer;
p : TPoint;
begin
Result := -1;
if not (ListBox is TListBox) then Exit;
with ListBox do begin
p.X := 1;
p.Y := ClientHeight - 1;
Idx := ItemAtPos(p, false);
if (Idx < Items.Count) then
ItemIndex := Idx
else if (Items.Count > 0) then
ItemIndex := Idx - 1;
end;
Result := ListBox.ItemIndex;
end;
> Кстати, она у меня только фокус выделения рисует :(
Кто она?
← →
Джо © (2006-09-15 16:35) [10]> [8] kirik (15.09.06 15:01)
> Это чего такое?
> Кстати, она у меня только фокус выделения рисует :(
Это, если на то пошло, не "она", а "оно" — т.е., свойство. Повзоляет получить/установить индекс ПЕРВОГО видимого эл-та.
← →
Джо © (2006-09-15 16:46) [11]Ну, и в связи с наличием свойства, искомый код будет выглядеть как-то так:
function GetBottomIndex (Lb: TListBox): Integer;
begin
with Lb do
Result := TopIndex + (Height div ItemHeight) - 1;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c