Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Цвет строки в TMemo


Автор: Gordon 10.8.2006, 13:11
Всем привет, как программно установить нужный цвет определенной стороки в TMemo smile 
Подскажите пожалуйста...

Автор: dvamaster 10.8.2006, 13:15
Никак. Используй RichEdit или собственную отрисовку.

Автор: Gordon 10.8.2006, 13:26
Никак? Засада...  smile 

Автор: Gordon 10.8.2006, 14:15
А как сделать это в RichEdit smile 

Автор: _hunter 10.8.2006, 15:54
поищи по форуму -- тема уже поднималась

Автор: Gordon 10.8.2006, 16:02
Так и сделаю, спасибо...

Автор: Link90 10.8.2006, 19:01
Код

RichEdit1->SelStart=0; // начало выделения
RichEdit1->SelLenght=5;  // длина выделения (символов)
RichEdit1->SelAttributes->Font->Color=clRed; // к примеру красного цвета

Автор: Gordon 10.8.2006, 19:47
Что-то не работает,  выдает ошибки:

[C++ Error] ChanUnit.cpp(78): E2316 'SelLenght' is not a member of 'TRichEdit'
[C++ Error] ChanUnit.cpp(79): E2316 'Font' is not a member of 'TTextAttributes'

Автор: 586 10.8.2006, 20:09
Код
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 RichEdit1->SelStart=5;
 RichEdit1->SelLength=10;
 RichEdit1->SelAttributes->Color=0xFF;
}

Автор: Gordon 10.8.2006, 20:24
Спасибо большое за помощь smile 

P.S. А можно сделать такое: к примеру у меня две кнопки, при нажатии на одну выводится текст красного цвета, при нажатии на другую - синего  smile 

Автор: 586 10.8.2006, 21:11
0xFF0000 == clBlue -- синий цвет
0xFF00 == clGreen -- зелёный цвет
0xFF == clRed -- красный цвет

Комбинируй их как хочешь, например, 0xFFFF -- жёлтый

Автор: Gordon 10.8.2006, 21:30
586, я хотел немного не то...

Вот к примеру:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 RichEdit1->Lines->Add("Stroka");//Только эта "Stroka" должна быть другого цвета(любого)
}

Как так сделать smile 

Автор: Kuber 10.8.2006, 21:40
Так меняй...в обработчике...

Автор: 586 10.8.2006, 21:42
Если хочешь при добавлении, тогда вот:
Код
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 RichEdit1->SelStart=-1;
 RichEdit1->SelAttributes->Color=0xFF;
 RichEdit1->Lines->Add("Hello world");
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 RichEdit1->SelStart=-1;
 RichEdit1->SelAttributes->Color=0xFF0000;
 RichEdit1->Lines->Add("Hello world");
}

Автор: Gordon 10.8.2006, 21:51
Спасибо большое!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)