Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 21:22   #1
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию Изменить цвет subitem-а в ListView

Всем здравствуйте.
Есть ListView допустим с 5 итемами в каждом по 3 сабитема.
Задача закрасить один сабитем(любой) в красный цвет по нажатию кнопки.
В чём проблема: я знаю как закрасить сабитем при событии ListView1CustomDrawItem, но не знаю как это сделать по нажатию кнопки( допустим итем2, сабитем3).

Надеюсь на помощь.
zver777 вне форума Ответить с цитированием
Старый 27.07.2010, 23:33   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Используй флаги

При нажатии на кнопку "Закрасить" ставь флаг в true
А в ListView1DrowItem делай проверку на
if Flag then закрашивай
psycho-coder вне форума Ответить с цитированием
Старый 28.07.2010, 00:30   #3
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Я об этом думал. Просто хотелось как-то проще.
А можно как-нибудь запустить этот ListView1CustomDrawItem не производя изменений в ListView? По нажатию на кнопку например.
zver777 вне форума Ответить с цитированием
Старый 28.07.2010, 00:33   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Да
Код:
ListView1CustomDrawItem(nil)
Или как то так
psycho-coder вне форума Ответить с цитированием
Старый 28.07.2010, 00:56   #5
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Для вызова этой процедуры её надо передать 4 аргумента.
Sender: TCustomListView; это ListView1
Item: TListItem; это нужный нам итем
А вот что за параметры
State: TCustomDrawState; и var DefaultDraw: Boolean


Нашёл как запустить перерисовку
Код:
ListView1.Repaint;
Выходит, что более хорошего решения задачи нет. Допустим итем[i].сабитем[j].цвет:=красный

Последний раз редактировалось zver777; 28.07.2010 в 01:00.
zver777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить цвет части строки в ListView zver777 Общие вопросы Delphi 5 21.06.2010 14:07
ListView как добавить SubItem AGEETO Помощь студентам 1 14.06.2010 12:20
Сортировка и цвет строк в ListView zver777 Общие вопросы Delphi 1 26.03.2010 22:24
Как поменять цвет курсора в ListView flug Общие вопросы Delphi 2 23.09.2009 22:12
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05