Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.18;
Скачать: CL | DM;

Вниз

TrichEdit   Найти похожие ветки 

 
AndreyB   (2002-03-02 20:52) [0]

Как в RichEdit выделять текст рзным цветом,как например в редакторе кода Delphi и Visual C++


 
Mbo ©   (2002-03-03 07:52) [1]

selstart,sellength,selattributes


 
MegaVolt ©   (2002-03-04 09:59) [2]

есть ещё один метод заключается в преобразовании входного файла во время открытия в RTF формат с разноцветной подсветкой. Это реализуется используя конвертер который подключается к RichEdit. Пример:

Type
p =class(Tconversion)
function ConvertReadStream(Stream: TStream; Buffer: PChar; BufSize: Integer): Integer; override;
function ConvertWriteStream(Stream: TStream; Buffer: PChar; BufSize: Integer): Integer; override;
end;

function p.ConvertReadStream(Stream: TStream; buffer: PChar; BufSize: Integer): Integer;
Begin
//тута вставляем текст преобразователя на чтение
end;

function p.ConvertWriteStream(Stream: TStream; Buffer: PChar; BufSize: Integer): Integer;
begin
Result := Stream.Write(Buffer^, BufSize);
// преобразование на запись не требуется так что пишем всй что поступило :)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
richedit1.registerConversionFormat("pas",p);
richedit1.DefaultConverter:=p;
//регистрируем конвертер
end;


При открытии файлов делалось преобразование в Дельфяшную раскраску. Скорость работы самого конвертера без отображения результата была порядка 1Мб/сек что вполне достаточно :)
Недостаток этого метода в том что ежели неоюходим не просмотр а редактирование то автоматической подсветки синтаксиса не происходит :( Как это обойти я не прибумал :(



Страницы: 1 вся ветка

Текущий архив: 2002.03.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-57492
M-A-B
2002-02-01 12:14
2002.03.18
СОМ-порт


6-57488
Pantero
2001-12-29 22:53
2002.03.18
Послать мыла наименшими ресурсами в Дельфи


7-57536
Дима
2001-12-17 18:31
2002.03.18
Звук из системного динамика


6-57490
madburro
2001-12-26 22:09
2002.03.18
Voice chat


3-57322
Malder
2002-02-17 18:50
2002.03.18
Управление доступом к базе данных InterBase