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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2007, 15:44   #1
Sargon
Пользователь
 
Аватар для Sargon
 
Регистрация: 12.09.2007
Сообщений: 34
Вопрос Меняем цвет текста в элементе

Вопрос такой. У меня есть элемент Tmemo. Допустим я меняю ключи в реестре.
Опирация прошла успешно- выводится зеленым
Меняю другое значение
не успешно- красным

При этом предыдущая надпись осталась зеленым а ниже вывелась крастная. Компонент один и тотже.

Объясните как это сделать.
Sargon вне форума Ответить с цитированием
Старый 12.09.2007, 15:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это лучше делать в RichEdit. А В Мемо придется ручками отрисовку делать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.09.2007, 15:48   #3
Sargon
Пользователь
 
Аватар для Sargon
 
Регистрация: 12.09.2007
Сообщений: 34
По умолчанию

Извиняюсь а там как сделать. Недавно взялся за Delphi
Sargon вне форума Ответить с цитированием
Старый 12.09.2007, 15:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот из Delphi world :

// Добавить строку указанным цветом
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;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.09.2007, 15:54   #5
Sargon
Пользователь
 
Аватар для Sargon
 
Регистрация: 12.09.2007
Сообщений: 34
По умолчанию

Оооо. Премного благодарен. Незнал где искать. Спасибо!
Sargon вне форума Ответить с цитированием
Старый 12.09.2007, 17:06   #6
Sargon
Пользователь
 
Аватар для Sargon
 
Регистрация: 12.09.2007
Сообщений: 34
По умолчанию

Ой еще вопрос.

procedure TForm1.ImageOkClick(Sender: TObject);
begin
AddColoredLine(RichEdit1, 'Добро пожаловать!', $ffffff);
AddColoredLine(RichEdit1, 'Загрузка программы - завершено', $00a650);
AddColoredLine(RichEdit1, 'Ожидание команд...', $cc0000);
end;

Сделал все как выше сказано
Не работает при загрузке.
При нажатии на кнопку последняя строка выдается не тем цветом.
Как исправить. Помогите.
Sargon вне форума Ответить с цитированием
Старый 12.09.2007, 17:14   #7
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

у меня все работает...Наверное, ті просто не прописал функцию AddColoredLine.....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 12.09.2007, 17:17   #8
Sargon
Пользователь
 
Аватар для Sargon
 
Регистрация: 12.09.2007
Сообщений: 34
По умолчанию

procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
begin
with ARichEdit do
begin
SelStart := Length(Text);
SelAttributes.Color := AColor;
SelAttributes.Size := 10;
SelAttributes.Name := 'Arial Black';
Lines.Add(AText);
end;
end;

Кажется все на месте. Блин затупил я.

Проблема может быть както связана с тем что я поставил прозрачность формы?

Последний раз редактировалось Sargon; 12.09.2007 в 17:21.
Sargon вне форума Ответить с цитированием
Старый 12.09.2007, 17:21   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Sargon Посмотреть сообщение
procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
begin
with ARichEdit do
begin
SelStart := Length(Text);
SelAttributes.Color := AColor;
SelAttributes.Size := 10;
SelAttributes.Name := 'Arial Black';
Lines.Add(AText);
end;
end;

Кажется все на месте. Блин затупил я.

Проблема может быть както связана с тем что я поставил прозрачность формы?

какая ошибка вілетает?
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 12.09.2007, 17:25   #10
Sargon
Пользователь
 
Аватар для Sargon
 
Регистрация: 12.09.2007
Сообщений: 34
По умолчанию

Нет. Не так работает.

AddColoredLine(RichEdit1, 'Добро пожаловать!', $ffffff);
AddColoredLine(RichEdit1, 'Загрузка программы - завершено', $00a650);
AddColoredLine(RichEdit1, 'Ожидание команд...', $cc0000);

пишу это в загрузку формы вобще не реагирует.
Ставлю на кнопку третья строка выводися не тем цветом(крастный должен, показывает синий).
Sargon вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить цвет текста на всей строке в RichEdit, если строка содержит определенное слово?? IIpopoK Общие вопросы Delphi 0 22.06.2008 07:57
Меняем Explorer Veiron Свободное общение 4 19.05.2008 12:51
меняем CS:IP Shacal Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 11.01.2007 20:18
Цвет текста в Мемо через Handle rpy3uH Win Api 1 30.10.2006 20:05