Вниз
Скачать: CL | DM;

Обновление текста в ListView   Найти похожие ветки 

← →
SKIPtr   (2007-09-22 18:40) [0]

У меня была написана программа где определённый список переодически обновлялся Список заносился в ListBox Чтоб список не убегал в начало при обновлении я использовал TopIndex Решил облехчить просмотр заменив ListBox на ListView но при этом не могу найти аналога свойству TopIndex


← →
{RASkov} ©   (2007-09-22 18:53) [1]

> Решил облехчить просмотр

а получилось как всегда :)
Может теперь TopItem тебе поможет? )


← →
{RASkov} ©   (2007-09-22 19:47) [2]

Попробуй еще так:
...
NScPos:=GetScrollPos(ListView.Handle, SB_VERT);
...
SetScrollPos(ListView.Handle, SB_VERT, NScPos, True);

"капризный" он какой-то ЛистВью.... Так что подумай на счет облехчить :)


← →
Юрий Зотов ©   (2007-09-22 20:13) [3]

ListView.Items[i].MakeVisible(False)


← →
Kolan ©   (2007-09-22 21:11) [4]

Еще есть TreeView, тоже можно списочег вывести на экран&#133


← →
SKIPtr   (2007-09-22 21:11) [5]

С TopItem не получается после команды ListView.TopItem := k; пишет Cannot assign to a read-only property
Мне  нужно надписи сделать столбиком Попробую это сделать через StringGrid если не получиться тогда API


← →
SKIPtr   (2007-09-22 21:48) [6]


> Юрий Зотов ©   (22.09.07 20:13) [3]


Подскажите как получить i до начало обновления списка


← →
{RASkov} ©   (2007-09-23 00:13) [7]

> [6] SKIPtr   (22.09.07 21:48)
> Подскажите как получить i

TopItem.Index ?


← →
SKIPtr   (2007-09-23 09:11) [8]

Попробовал TopItem.Index запоминает то что бвло сверху MakeVisible ставит эту строку вниз Текст не остаётся на прежнем месте он перемещается вверх а нужно чтоб оставался на месте

Ещё я попробовал а потом полазил через поисковик и не смог понять чем отличаеться MakeVisible(False) от MakeVisible(True)


← →
Lacmus ©   (2007-09-23 10:25) [9]



procedure ListView_SetTopIndex(aWindow: HWND; aIndex: Integer);
var
 Jump: Integer;
begin
 Jump := Min(aIndex + ListView_GetCountPerPage(aWindow), ListView_GetItemCount(aWindow) - 1);
 ListView_EnsureVisible(aWindow, Jump, False);
 ListView_EnsureVisible(aWindow, aIndex, False);
end;



← →
SKIPtr   (2007-09-23 22:34) [10]


> Lacmus ©   (23.09.07 10:25) [9]


Попробовал переодически возникает ошибка Undeclared identifier Нашел для Min нужно включить Match Какие ещё модули надо включить


← →
Lacmus ©   (2007-09-23 22:39) [11]

Возможно CommCtrl, Math


← →
SKIPtr   (2007-09-24 17:08) [12]

да в одной книге Math в другой Match


← →
SKIPtr   (2007-09-25 17:15) [13]

То что я хотел получилось на StringGrid но возникла поблема как применить BeginUpdate а то на экране такие действия развиваються


← →
Dmitro ©   (2007-09-25 23:45) [14]

Дааа....
Используй TListBox. Перд его обновлением запоминаем ItemIndex в переменную "K" и TopIndex в переменную "Kt".
Сразу после обновления такой код:
if ListBox1.Items.count > K then
 ListBox1.ItemIndex:=K
                                    else
 try
   ListBox1.ItemIndex:= Kt
 except
 end;
Или такой:
Если известна строка, на которой стоял курсор (выделенная строка), то перед обновлением списка запоминаем:
S:= ListBox1.Items[ListBox1.ItemIndex];
А после обновления:
ListBox1.ItemIndex:= ListBox1.IndexOf(S);
Тоже работает.
Примечание: КОД НЕ УНИВЕРСАЛЬНЫЙ - РАБОТАТЬ БУДЕТ, НО НАДО ДОРАБОТАТЬ...:---)))


← →
SKIPtr   (2007-09-26 07:37) [15]

ListBox уже сделал в самом начале код примерно так

k :=  ListBox1.TopIndex;
....
ListBox1.TopIndex := k

работает нормально но читать не удобно и я решил переделать в виде таблицы



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.014 c
15-1190264320
Kolan
2007-09-20 08:58
2007.10.21
А есть у кого хелп к memproof? А то прикрыли&#133


15-1190123382
Альберт_
2007-09-18 17:49
2007.10.21
какой размер минимального activex ?


15-1190121793
dimonf
2007-09-18 17:23
2007.10.21
Нужен программист Delphi + MSSQL (Москва)


8-1168288879
Jimmy
2007-01-08 23:41
2007.10.21
Аналог StretchBlt для TMetaCanvas


2-1190645060
Зачем-надо
2007-09-24 18:44
2007.10.21
Не получается . Реакция на событие OnMouseMove.




   Наверх