|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.12.2014, 20:33 | #1 |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
[TListView]: Как сделать чтобы иконки отображались только во втором столбце?
Добрый вечер!
На форме есть ListView в режиме vsReport, 3 столбца. Хочу чтобы иконки отображались во втором столбце (SubItem[0]), в свойствах ListView SmallIcons указываю нужный ImageList. затем пишу код: Код:
Пробовал в процедуре добавления ставить ImageIndex:=-1;, в итоге иконка в первом столбце не отображалась, но под нее было выделено пространство. Как сделать чтобы иконка отображалась только во втором столбце и при этом не было вот этого пустого места перед первым столбцом? Последний раз редактировалось garuna; 06.12.2014 в 20:35. |
06.12.2014, 21:09 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Думаю описать процедуры отрисовки. OnDrawItem и OnDrawSubItem кажись.
И в них прописать код рисования иконки и вывода текста.
I'm learning to live...
|
06.12.2014, 21:16 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Там -1 где-то в имиджиндексе итема нужно поставить, нулевой то находит в имеджлисте. Ой не заметил. Тогда как Стилет предлагает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 06.12.2014 в 21:19. |
17.12.2014, 12:32 | #4 | |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
Цитата:
Зачем? Ведь иконки и так уже прорисовываются в SubItem как нужно. Необходимо только как-то убрать вот этот пустой отступ слева в первой колонке. Может кто-то знает как это сделать? Может с помощью каких-нибудь SendMessage() что ли.. Подскажите! Последний раз редактировалось garuna; 17.12.2014 в 12:34. |
|
17.12.2014, 12:57 | #5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Попробуйте применить TVirtualStringTree или TVirtualLIstView. Они более гибкие в плане рисования чего-угодно.
|
17.12.2014, 14:30 | #6 |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
блин, не поверю что не существует какого-нибудь более простого способа...
|
17.12.2014, 15:59 | #7 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
|
|
17.12.2014, 16:18 | #8 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
|
17.12.2014, 17:18 | #9 | |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
Цитата:
Проблему решил добавлением этой строки: Код:
|
|
17.12.2014, 17:24 | #10 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
Прошу прощения, просмотрела
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как объединить ячейки во втором столбце при совпадении значений в первом столбце | BorisD | Microsoft Office Excel | 13 | 08.09.2018 10:09 |
Как сделать так чтобы не отображались даты Даты вместо Цифр в ЕКСЕЛЬ? | d88n | Помощь студентам | 1 | 17.06.2011 05:16 |
Как сделать так, чтобы в корректно отображались русские буквы(С) | Александр Елис | Помощь студентам | 0 | 06.11.2009 19:39 |
Как сделать так,чтобы в StatusBar-е отображались некоторые сведения из БД???? | Alexij | БД в Delphi | 1 | 16.06.2008 07:53 |
Как сделать так, чтобы в TLabel отображались текущее системное время? | Bill Gates | Общие вопросы Delphi | 3 | 03.01.2008 01:12 |