Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 15:12   #1
garyanikin
Дизайнер, Кодер.
Пользователь
 
Аватар для garyanikin
 
Регистрация: 31.12.2009
Сообщений: 45
По умолчанию Разноцветный текст

Здравствуйте.
Нужно что бы например в Memo текст добавлялся, точнее строки разного цвета
Например
if Edit.Text:=1 then
Memo1.Lines.Add := 'Блаблабла' красного цвета

Заранее спасибо.
garyanikin вне форума Ответить с цитированием
Старый 25.01.2010, 15:15   #2
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Вод так:
Код:
if Edit.Text:=1 then
  begin
  Memo1.Font.Color:=lcRed;
  Memo1.Lines.Add := 'Блаблабла' ;
  end;
Deamonig вне форума Ответить с цитированием
Старый 25.01.2010, 15:16   #3
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

В мемо не получится.лучше ричедит использовать и не lcred a clred
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 25.01.2010, 15:17   #4
garyanikin
Дизайнер, Кодер.
Пользователь
 
Аватар для garyanikin
 
Регистрация: 31.12.2009
Сообщений: 45
По умолчанию

А можно подробней про RichEdit? Просто я только начал делфи изучать...
garyanikin вне форума Ответить с цитированием
Старый 25.01.2010, 15:23   #5
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Пример с Trichedit
{
To color text in a TRichEdit, follow this two steps:

Um einen Text in einem TRichEdit einzufдrben, mьssen folgende 2 Schritte
gemacht werden:

1) Select the text with the SelStart, SelLength properties.
Markiere den Text mit SelStart, SelLength Eigenschaften.

2) Set the text attribtutes through the SelAttributes property.
Die Textattribute mit SelAttributes setzen.
}

{
1. Example/ Beispiel:

Add a colored line to a TRichEdit:
Eine farbige Zeile zu einem TRichEdit hinzufьgen:
}

Код:
procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := Length(Text);
     SelAttributes.Color := AColor;
     SelAttributes.Size := 8;
     SelAttributes.Name := 'MS Sans Serif';
     Lines.Add(AText);
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   AddColoredLine(RichEdit1, 'Hallo', clRed);
   AddColoredLine(RichEdit1, 'Hallo', clGreen);
 end;
{
2. Example/ Beispiel:

To color the 5 characters.
Die ersten 5 Zeichen im Richedit blau einfдrben.
}


Код:
 procedure TForm1.Button1Click(Sender: TObject);
 begin
   RichEdit1.SelStart  := 0;
   RichEdit1.SelLength := 5;
   RichEdit1.SelAttributes.Color := clBlue;
 end;
{
3. Example/ Beispiel: ( by www.delphimania.de)

To color a specified line with a color
So kann eine beliebige Zeile mit einer Farbe gefдrbt werden:
}

Код:
procedure RE_ColorLine(ARichEdit: TRichEdit; ARow: Integer; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := SendMessage(Handle, EM_LINEINDEX, ARow - 1, 0);
     SelLength := Length(Lines[ARow - 1]);
     SelAttributes.Color := AColor;
     SelLength := 0;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   ZeileFaerben(RichEdit1, 4, clGreen);
 end;
Пользуйтесь поиском
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 25.01.2010, 15:35   #6
garyanikin
Дизайнер, Кодер.
Пользователь
 
Аватар для garyanikin
 
Регистрация: 31.12.2009
Сообщений: 45
По умолчанию

А где находится рич эдит??
garyanikin вне форума Ответить с цитированием
Старый 25.01.2010, 15:38   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Вкладка Win32

Marsel737
, а ты сам пробовал в нем работать? Совершенно невозможно раскрашивать так как тебе нужно. И ужасно медленно. И не дай Торвальдс тебе использовать вызов WinApi, имеющий хоть какое-то отношение к RichEdit'у...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 25.01.2010 в 15:59.
Utkin вне форума Ответить с цитированием
Старый 25.01.2010, 15:58   #8
Ra1n
 
Аватар для Ra1n
 
Регистрация: 24.01.2010
Сообщений: 5
По умолчанию

Цитата:
А где находится рич эдит??
Хотите меня отблагодарить - бросьте монетку:
Z122717110322 ; E337948685310 ; U174175658238 ; R288787571440
Ra1n вне форума Ответить с цитированием
Старый 25.01.2010, 16:29   #9
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Utkin, да приходилось пользоваться, я использовал первый вариант:

Код:
procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := Length(Text);
     SelAttributes.Color := AColor;
     SelAttributes.Size := 8;
     SelAttributes.Name := 'MS Sans Serif';
     Lines.Add(AText);
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   AddColoredLine(RichEdit1, 'Hallo', clRed);
   AddColoredLine(RichEdit1, 'Hallo', clGreen);
 end;


Раскрашивал именно так как мне нужно. Может быть и медленно, не знаю, не ощутил, ведь смотря для чего нужно раскрашивать.
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 25.01.2010, 16:40   #10
garyanikin
Дизайнер, Кодер.
Пользователь
 
Аватар для garyanikin
 
Регистрация: 31.12.2009
Сообщений: 45
По умолчанию

У меня два вопроса, какие настройки были использованы в примере?
Код:
  
SelAttributes.Size := 8;
SelAttributes.Name := 'MS Sans Serif';
И второй, можно ли взглянуть на вашего бота??
garyanikin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разноцветный DrawGrid Andr Компоненты Delphi 18 21.08.2013 20:10
текст xaft Общие вопросы .NET 2 06.03.2009 15:54
Как узнать какой текст выделен в текст поле mogul82 JavaScript, Ajax 2 02.11.2008 16:32
разноцветный WinProcs.DrawText lis_abu Общие вопросы Delphi 10 24.10.2007 14:42
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40