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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2009, 15:53   #1
Fezilk
Пользователь
 
Регистрация: 29.08.2008
Сообщений: 32
Восклицание RichView(Edit) - цветной текст - реально?

Здравствуйте!

Подскажите, пожалуйста, как добавить цветную строчку в RichView (RichViewEdit), если это вообще реально.. скачал исходник с оф. сайта, но не понял, как делать строчку цветной.

Заранее спасибо
Fezilk вне форума Ответить с цитированием
Старый 23.08.2009, 16:09   #2
Rebel123
C++ новичок
Форумчанин
 
Аватар для Rebel123
 
Регистрация: 13.06.2009
Сообщений: 160
По умолчанию

попробуйте ColorDialog использовать во вкладке Dialogs

если что вот код:
Код:
if ColorDialog1.Execute then
// здесь ваш компонент:=ColorDialog1.Color
Rebel123 вне форума Ответить с цитированием
Старый 23.08.2009, 16:28   #3
Volt
Форумчанин
 
Аватар для Volt
 
Регистрация: 07.12.2008
Сообщений: 244
По умолчанию

Не знаю как в RichView но в стандартном RichEdit примерно как то так
Цитата:
richedit1.SelStart:=0;
richedit1.SelLength:=2;
richedit1.SelAttributes.Color:=clre d;
выделяются две первые буквы красным цветом. SelStart от куда выделять SelLength сколько букв.
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
Volt вне форума Ответить с цитированием
Старый 23.08.2009, 18:20   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Исходник с офф сайта посмотри.
Его тебе хватит чтобы понять как ЭТО работает.
Спрашивай если что.
Вложения
Тип файла: zip Editor 2.zip (18.8 Кб, 48 просмотров)
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 23.08.2009, 22:58   #5
Fezilk
Пользователь
 
Регистрация: 29.08.2008
Сообщений: 32
По умолчанию

Спасибо конечно, но уж слишком большой код. Как не пытался - выдрать код не смог. Мне нужно только добавить жирную строку красного цвета.

Кому не трудно - если сможете, достаньте этот код, пожалуйста.

Пытался так:
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RVStyle, RVScroll, RichView, RVEdit, StdCtrls;

type
  TForm2 = class(TForm)
    rve: TRichViewEdit;
    rvs: TRVStyle;
    Button1: TButton;
     procedure rveStyleConversion(Sender: TCustomRichViewEdit; StyleNo,
  UserData: Integer; AppliedToText: Boolean; var NewStyleNo: Integer);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public

    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

const
  TEXT_COLOR      = 7;
{$R *.dfm}

procedure TForm2.rveStyleConversion(Sender: TCustomRichViewEdit; StyleNo,
  UserData: Integer; AppliedToText: Boolean; var NewStyleNo: Integer);
var FontInfo: TFontInfo;
begin
  FontInfo := TFontInfo.Create(nil);
  try
    FontInfo.Assign(rvs.TextStyles[StyleNo]);
    case UserData of
      TEXT_COLOR:
        FontInfo.Color := clRed;
    end;
    NewStyleNo := rvs.TextStyles.FindSuchStyle(StyleNo,FontInfo,RVAllFontInfoProperties);
    if NewStyleNo=-1 then begin
      rvs.TextStyles.Add;
      NewStyleNo := rvs.TextStyles.Count-1;
      rvs.TextStyles[NewStyleNo].Assign(FontInfo);
      rvs.TextStyles[NewStyleNo].Standard := False;
    end;
  finally
    FontInfo.Free;
  end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
rve.ApplyStyleConversion(TEXT_COLOR);
end;

end.
при нажатии на кнопку ничего не изменяется.

Последний раз редактировалось Fezilk; 23.08.2009 в 23:28.
Fezilk вне форума Ответить с цитированием
Старый 24.08.2009, 07:39   #6
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Вот пример
Вложения
Тип файла: rar RedText.rar (5.1 Кб, 53 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 24.08.2009, 09:27   #7
Fezilk
Пользователь
 
Регистрация: 29.08.2008
Сообщений: 32
По умолчанию

:D а как в этот же RivhViewEdit добавить синий и черный?

// добавлено 10:09

Решил проблему гениально =)
Создал два стиля новых, и добавляю текст так:
Код:
RichViewEdit1.AddNL('Красная строчка', 6, 0);
RichViewEdit1.AddNL('Обычная строчка', 0,0);
RichViewEdit1.AddNL('Синяя строчка', 7, 0);
RichViewEdit1.Format;
Всем спасибо.

Последний раз редактировалось Fezilk; 24.08.2009 в 10:10.
Fezilk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить в TListBox цветной текст? VintProg Общие вопросы Delphi 2 03.08.2009 11:46
Текст повернутый на 90 градусов в Image реально? Kib Мультимедиа в Delphi 4 23.04.2009 13:40
Текст в Edit Simon..14 Общие вопросы C/C++ 7 18.01.2009 17:28
Цветной текст ERASERROR Общие вопросы Delphi 4 25.01.2008 21:04
Edit и текст M@rsel Компоненты Delphi 2 23.03.2007 09:33