Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/41: Рейтинг темы: голосов - 41, средняя оценка - 4.78
5 / 4 / 1
Регистрация: 21.07.2011
Сообщений: 13

Цветные строки в ListBox'е Builder'а

26.07.2011, 07:11. Показов 8075. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, всем форумчанам!

Решил поделиться опытом вывода цветных строк в Builder'овском ListBox'е, т.к. в интернете не нашел прямых ответов по этой теме (ответы были, в основном, по Delphi).

Пример кода:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ListBox1->Style = lbOwnerDrawFixed; //или lbOwnerDrawVariable
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    AddLog("текст", txt_clr); //txt_clr - цвет строки типа TColor (clRed, clBlue, и т.д. или
                              //RGB(r, g, b), где r, g, b = 0-255)
}
 
//пользовательская функция
void __fastcall TForm1::AddLog(const AnsiString str, const TColor str_clr)
{          
    ListBox1->Items->AddObject(str, (TObject *)str_clr);
}
 
void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control,
      int Index, TRect &Rect, TOwnerDrawState State)
{
    TColor new_clr = TColor(ListBox1->Items->Objects[Index]);
    AnsiString str = ListBox1->Items->Strings[Index];
 
    ListBox1->Canvas->FillRect(Rect); //закрашиваем прямоугольник Rect, в котором будет выводиться
                                      //конкретный элемент TListBox, текущей кистью для предотвращения
                                      //появления артефактов изображения (см. вторую ссылку в конце поста)
                                      //при выделении элемента списка
 
    ListBox1->Canvas->Font->Color = new_clr;
    ListBox1->Canvas->TextOut(Rect.Left, Rect.Top, str);
}
Ссылки, которые помогли мне:

1. Как поменять цвет строки в listbox?
2. http://cppbuilder.ru/articles/0133.php (думаю, здесь не нарушил правило ссылки на другой форум )
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2011, 07:11
Ответы с готовыми решениями:

EPSON CX4900 не видит ЦВЕТНЫЕ картриджи (только ЦВЕТНЫЕ)
После промывки печатающей головки не видит именно цветные картриджи, все три штуки (капелька горит). черный определяет нормально. все...

Цветные строки
Ребята, подскажите пожалуйста компонент, в котором можно выделять строки цветом (неважно фон или текст)

Цветные строки в TMemo
Можно ли выделять разными цветами строки в TMemo? Перед добавлением очередной строки, я меняю цвет, но при этом меняются одновременно...

1
 Аватар для pomkalk
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
26.07.2011, 08:45
Конечно спасибо! Но, лучше соображать нужно и смотреть шире, раскраска строк ни чем не отличатся от раскраски ячеек в StringGrid, а уже про него тут полно информации, в разно форме!! Так что поиском пользоваться еще в силе!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.07.2011, 08:45
Помогаю со студенческими работами здесь

Цветные строки в RichEdit
Доброго вечера, что то я вообще деградировать начал, хочу разукрасить RichEdit но не как не выходит Хочу полностью выделить строку...

ListBox - Цветные строки
как сделать в ListBox цветные строки (в любой строке сменить цвет текста на свой)?

цветные строки в combobox
Возможно ли сделать в combobox строки цветными ? Мне нужно выделить те, элементы которые недоступны для выбора. Как в менюхе, серым цветом....

Цветные строки в CComboBox
Добрый день. Стоит задача сделать цветные строки в ССomboBox, переопределением виртуальных методов DrawItem, CompareItem, MeasureItem,...

Цветные строки в поле со списком.Возможно?
Всем привет! :) Подскажите пожалуйста уважаемые форумчане, возможно ли сделать строки поля со списком цветными? Одна красная, другая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru