![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Как можно реализовать сортировку данных в компоненте TListView щелчком по столбцу, например, как это реализовано в том же uTorrent:
1.png И будет ли разница в реализации для виртуального режима отображения?
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Для не виртуального SortType и OnCompare.
Для виртуального менять сортировку в источнике данных для ListView и выполнить ListView.Repaint. В обоих случаях ColumnClick=True и обработка в OnColumnClick. В Caption колонки можно режим сортировки показывать. Смайлик там тоже вроде можно показать используя ImageIndex
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Ок, это понятно. А как они добиваются этой стрелочки направляющей сортировки по середине на нажатой колонке (на скриншоте видно)?
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Может глянуть в сторону OnCustomDrawItem и OnCustomDrawSubItem?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Имеете в виду самому прорисовывать стрелочку на колонке?
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
В общем да. В Д7 ListView не имеет таких возможностей, может у последних версиях есть. Можно и в API покапаться, а вдруг? Возможно у uTorrent используется shell folder, внешне очень похоже.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Есть в классе TStringList метод CustomSort(Compare:TStringListSortC ompare) Проблема в том, что данная процедура сортирует параметры попарно за 1 вызов. Т.е. глобальная сортировка списка не выполняется. Как преодолеть это препятствие? Писать собственную сортировку с параметрами?
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Убрать автоскроллинг в ListView при OwnerData=true | 3D Hunter | Общие вопросы Delphi | 3 | 08.12.2011 16:29 |
Tlistview | NEoMASTERR | Общие вопросы Delphi | 1 | 01.12.2011 04:04 |
Как перемещать itemы в Listivew (vsReport) с ownerdata=true? | Anfall | Компоненты Delphi | 12 | 25.08.2011 19:24 |
Как узнать индексы выделенных итемов в ListView при OwnerData? | 3D Hunter | Общие вопросы Delphi | 3 | 02.10.2009 10:24 |
Инициализация TListView | Oburec | Компоненты Delphi | 0 | 04.05.2009 00:30 |