Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

Обновление текста в 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1190182046
Sandman31
2007-09-19 10:07
2007.10.21
Демография


15-1190136505
iop
2007-09-18 21:28
2007.10.21
А почему мы одних любим...


15-1190072905
Черный Шаман
2007-09-18 03:48
2007.10.21
Как бы вы отнеслись к такому работнику?


4-1176881042
Грициан
2007-04-18 11:24
2007.10.21
Подмена сиволов в окне сторонней программы


2-1190494437
Neux
2007-09-23 00:53
2007.10.21
Удаление одинаковых строк





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