- 0
Работа с ListView
-
Похожий контент
-
- 39 ответов
- 6 259 просмотров
-
- 5 ответов
- 1 884 просмотра
-
- 5 ответов
- 1 639 просмотров
-
- 6 ответов
- 1 982 просмотра
-
- 0 ответов
- 1 296 просмотров
-
- 30 ответов
- 2 938 просмотров
-
- 17 ответов
- 4 034 просмотра
-
- 2 ответа
- 1 283 просмотра
-
- 4 ответа
- 2 012 просмотра
-
- 6 ответов
- 3 038 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
dmitry
Добрый день.
Использую Delphi DX 10 Update 1.
Есть маленькая задача по использованию компонента ListView.
Необходимо, если в Item содержится текст = 'Signal', то цвет у шрифта установить в красный, иначе в черный.
Написал следующий код вставки данных в ListView:
procedure TForm3.Button1Click(Sender: TObject); Var Item: TListViewItem; TextObject: TListItemText; begin Item := ListView1.Items.Add; Item.Text := '...'; TextObject := TListItemText.Create(Item); TextObject.Text := 'Signal'; TextObject.Height := 30; TextObject.PlaceOffset.Point := TPointF.Create(1, 0); TextObject.Name := 'STATUS'; TextObject.Font.Size := 20; Item := ListView1.Items.Add; Item.Text := '...'; TextObject := TListItemText.Create(Item); TextObject.Text := 'Normal'; TextObject.Height := 30; TextObject.PlaceOffset.Point := TPointF.Create(1, 0); TextObject.Name := 'STATUS'; TextObject.Font.Size := 20; end;
В событии UpdateObjects компонента написал:
procedure TForm3.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); Var TextObject: TListItemText; begin TextObject := AItem.Objects.FindDrawable('STATUS') As TListItemText; If TextObject <> Nil Then Begin If TextObject.Text = 'Signal' Then TextObject.TextColor := TAlphaColorRec.Red Else TextObject.TextColor := TAlphaColorRec.Black; End; end;
В итоге Item, где есть Signal не устанавливается цвет текста в красный и более того TextObject = Nil.
Помогите разобраться с проблемой.
Тестовый проект прилагаю
LVBag.rar
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.