Разноцветный ListBox
От: bestonix  
Дата: 23.05.05 06:34
Оценка:
Доброго времени суток уважаемые. Начал изучать язык программирования С++. Изучение как извесно лучше проходит во время написания программ. Вот столкнулся с проблеммами. Подскажите пожалуйста, что не так в коде.

В момент создания формы в ListBox заношу несколько строк. Хочу, чтобы новые строки, которые вносятся "руками" были другого цвета.

void __fastcall TFMain::LB_FDestinationDrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State)
{
for (int i=0; i<LB_FDestination->Items->Count; i++)
{
if (i<=CntFDestination-1) //проверяю — новая строка или нет
{
LB_FDestination->Canvas->FillRect(Rect);
LB_FDestination->Canvas->Font->Color = clBlue;
LB_FDestination->Canvas->TextOut(Rect.Left, Rect.Top, LB_FDestination->Items->Strings[i]);
}
else
{
Rect = LB_FDestination->ItemRect(i);
LB_FDestination->Canvas->Font->Color = clRed;
LB_FDestination->Canvas->Font->Style = TFontStyles()<< fsBold;
LB_FDestination->Canvas->TextOut(Rect.Left, Rect.Top, LB_FDestination->Items->Strings[i]);
}
}
}

Код вроде работает. Новая строка-первая вносится как нужно, но последующие затирают предыдущие.

И еще позвольте вопрос небольшой. Меня интересует существование аналога дельфовской функции
Copy(str, start_char, count_char)
str — исходная строка
start_char — начальный символ, с которого необходимо копировать.
count_char — количество копируемых символов.

24.05.05 22:43: Перенесено модератором из 'C/C++. Прикладные вопросы' — Павел Кузнецов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.