Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с отдельными строками в RichEdit

19K
18 марта 2008 года
vitalya777
37 / / 04.03.2008
Никак не могу разобратся с обработкой текста, точнее отдельных строк, в RichEdit. Например какую-то строчку сделать курсивом или жырным шрифтом. Напишите пожалуйста какой-то пример. Заранее спасибо!!!!!!!!!!!!!!!!!!
1
18 марта 2008 года
kot_
7.3K / / 20.01.2000
Какойто пример:
 
Код:
RichEdit1->DefAttributes->Color = clBlue;
  RichEdit1->DefAttributes->Style =
    RichEdit1->DefAttributes->Style << fsBold << fsItalic;
19K
18 марта 2008 года
vitalya777
37 / / 04.03.2008
Цитата: kot_
Какойто пример:
 
Код:
RichEdit1->DefAttributes->Color = clBlue;
  RichEdit1->DefAttributes->Style =
    RichEdit1->DefAttributes->Style << fsBold << fsItalic;



Это в общем для RichEdit, а как всё-таки обращатся к отдельным строкам текста, например к строке, которая начинается с определённого слова?

1.9K
19 марта 2008 года
Anton Chik
175 / / 26.09.2005
неправильная постановка вопроса.
так и спрашивал бы: "Как программно выделить в RichEdit конкретную строку? Как узнать SelStart и SelLenght?"
как стандартно не припомню, но ведь всегда можно пробежаться по знакам переноса строки...
1
19 марта 2008 года
kot_
7.3K / / 20.01.2000
Цитата: vitalya777
Это в общем для RichEdit, а как всё-таки обращатся к отдельным строкам текста, например к строке, которая начинается с определённого слова?


Я не могу понять - справка только у меня доступна? Или клавиша Ф1 поломана? :)
Поиск:

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)

{
  FindDialog1->Position = Point(RichEdit1->Left + RichEdit1->Width, RichEdit1->Top);
  FindDialog1->Execute();

}

void __fastcall TForm1::FindDialog1Find(TObject *Sender)

{
  int FoundAt, StartPos, ToEnd;
  // begin the search after the current selection
  // if there is one
  // otherwise, begin at the start of the text
  if (RichEdit1->SelLength)
    StartPos = RichEdit1->SelStart + RichEdit1->SelLength;
  else

    StartPos = 0;

  // ToEnd is the length from StartPos
  // to the end of the text in the rich edit control

  ToEnd = RichEdit1->Text.Length() - StartPos;

  FoundAt = RichEdit1->FindText(FindDialog1->FindText, StartPos, ToEnd, TSearchTypes()<< stMatchCase);
  if (FoundAt != -1)
  {
    RichEdit1->SetFocus();
    RichEdit1->SelStart = FoundAt;
    RichEdit1->SelLength = FindDialog1->FindText.Length();
  }
}

Как как выделенному тексту изменить атрибуты я написал. Как менять атрибуты у параграфа - я тоже помоему описывал. Используйте поиск - или ждите пока закончу работу с факом.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог