Текущий архив: 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