Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

TListView и цвета отдельных итемов   Найти похожие ветки 

 
$HiC0   (2005-06-23 16:34) [0]

Добрый день!
Искал, может плохо, но пока не нашел ответа казалось-бы на очень простой вопрос.
У меня есть список - набор цифр, который я размещаю столбиком в TListView. В ходе работы программы необходимо подсветить некоторые цифры из набора (выделить их другим цветом или шрифтом, а лучше и тем и другим). Изначально пытался сделать это в ListBox"е, но интуитивно понял что у него нет соответствующих свойств и методов, стал смотреть в сторону ListView. Хотел сделать что-то вроде:
ListView1.Items[i].Font.Color := clRed;
ListView1.Items[i].Font.Bold := True;
Но не тут то было :(
Подскажите как быть?
Заранее спасибо.


 
-=XP=- ©   (2005-06-23 16:38) [1]

но интуитивно понял что у него нет соответствующих свойств и методов

Неправда Ваша.
OnDrawItem()


 
rOOse ©   (2005-06-23 16:43) [2]

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  with ListView1.Canvas.Brush do
  begin
    case Item.Index of
      0: Color := clYellow;
      1: Color := clGreen;
      2: Color := clRed;
    end;
  end;
end;


 
Amoeba ©   (2005-06-23 16:48) [3]


> пока не нашел ответа казалось-бы на очень простой вопрос

Вопрос, как раз далеко не простой.

Если устроит вариант с ListBox, то есть такой компонент THTMLListBox. Там такое делается легко (он и предназначен для подобных задач). Найдешь его на http://www.tmssoftware.com/
(придется только немножко поднапрячься на навигацией по сайту, чтобы увидеть его описание с картинкой).
А вот ссылка на закачку: http://www.tmssoftware.com/HTMLISTB.ZIP
А это на инструкцию, как делать форматирование: http://www.tmssoftware.com/minihtml.htm


 
$HiC0   (2005-06-23 16:48) [4]

Т.е. какие итемы подсвечивать я должен определять case-ом или какм-либо иным образом внутри этого метода? А что делать если этот лист-бох находится на мди-детеныше, который в свою очередь служит только для отображения и никакими вычислительными способностями не обладает. Вычисления и собственно результат этих вычислений получается во вне. В голову приходит только опубликовать событие DrawItem и потом в юните-вычислителе подписаться на него. Это не очень жестоко? Неужели нету более простого способа? Или я что-то не так понял? :(


 
$HiC0   (2005-06-23 16:52) [5]

Да в предыдущем посте я был прав :)) Хе... уже не могу писать нормальный код на Delphi после двухлетней работы с C#. Зарекаюсь больше на нем писать, хе... хотя у дотНета тоже своих заморочек хватает :)
2Amoeba
Спасибо! Сейчас посмотрю!



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.045 c
1-1118842335
DeepProg
2005-06-15 17:32
2005.07.11
"Тонкости" применения Variant


9-1104993420
[Baradoo]
2005-01-06 09:37
2005.07.11
3D космический шутер (demo) 600KB


3-1117059185
grol
2005-05-26 02:13
2005.07.11
Поставить границы ячейки Excel через Delphi!!!


14-1118226776
YurikGL
2005-06-08 14:32
2005.07.11
USB-разъем под обжимку. Как обжать?


4-1116172367
seregka
2005-05-15 19:52
2005.07.11
Добавление программы в popup меню Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский