Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

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

Всем добрый день.

Есть такая задача:
У нас есть допустим такой ListView


Как в "столбец3" во второй строке "dddsssddd" покрасить sss в красный цвет? Чтобы получилось dddsssddd
zver777 вне форума Ответить с цитированием
Старый 21.06.2010, 13:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Хм... Ну в любом случае придется описывать обработчик OnDrawItem, в котором посимвольно отрисовывать символы строки типа:
Код:
 procedure TForm1.ListView1DrawItem(Sender: TCustomListView;
  Item: TListItem; Rect: TRect; State: TOwnerDrawState);
var i:integer;
begin
 with Sender do
  for i:=0 to length(Item.Caption) do begin
    if условие then canvas.Pen.Color:=clred else canvas.Pen.Color:=clblack;
    Canvas.TextOut(rect.Left+i+Canvas.TextWidth('W'),Rect.Top,Item.Caption[i]);
  end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.06.2010, 13:27   #3
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Спасибо.
Можете показать пример вызова этой процедуры. Мне непонятно, что такое Rect: TRect; и State: TOwnerDrawState
zver777 вне форума Ответить с цитированием
Старый 21.06.2010, 13:36   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Эта процедура обработчик OnDrawItem Создай его в Инспекторе Объектов для ЛистВью и увидишь. А так же почитай его описание в хелпе - Rect это координаты участка, выделенного для отрисовки определенного элемента
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.06.2010, 13:45   #5
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Создал обработчик. Вставил код.
А как запустить разукрашивание?
zver777 вне форума Ответить с цитированием
Старый 21.06.2010, 14:07   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
А как запустить разукрашивание?
Ты хотя бы наполнять ListView умеешь? Если нет то учи это, ибо до разукрашивания тебе оч. далеко, потому что при твоем условии нужно делать некую (достаточно сложную) проверку на то каким цветом рисовать символ.
То что я тее дал - это не пример а пояснение в какую сторону думать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Сортировка и цвет строк в ListView zver777 Общие вопросы Delphi 1 26.03.2010 23:24
Изменить RecordSize после части считывания. Alex Cones Общие вопросы Delphi 4 15.01.2010 19:24
Как поменять цвет курсора в ListView flug Общие вопросы Delphi 2 23.09.2009 22:12
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS