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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 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,097
По умолчанию

Хм... Ну в любом случае придется описывать обработчик 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,097
По умолчанию

Эта процедура обработчик 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,097
По умолчанию

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


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



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