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

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

26.07.2011, 07:11. Показов 7977. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru