|
Вопрос # 2 768/ вопрос открыт / |
|
Здравствуйте, эксперты!
Поставил библиотеку RxLib, а теперь вопрос, как мне переделать выделение синтаксиса, в RichEdit вроде работает, а при переносе в RxRichEdti не срабатывает, тупо мелькает. RxRichEdit также нужен для вставки рисунков, потому RichEdit не подходит, и RichEditSyntax не предлагать, т.к. не могу найти возможность отключения выделения.
Приложение: Переключить в обычный режим- procedure TForm1.UpdateSyntaxDelphi;
- var
- TempMS: TMemoryStream;
- FSyntax: TpsvPasRTF;
- pos, top: Integer;
- OnChange: TNotifyEvent;
- begin
- if (Length(RichEdit1.Text) <= 0) then
- exit;
- pos := RichEdit1.selstart;
- top := SendMessage(RichEdit1.Handle, EM_GETFIRSTVISIBLELINE, 0, 0);
- OnChange := RichEdit1.OnChange;
- TempMS := TMemoryStream.Create;
- RichEdit1.OnChange := nil;
- try
- FSyntax := TpsvpasRTF.Create;
- try
- try
- FSyntax.SetText(RichEdit1.Text);
- FSyntax.ConvertToRTFStream(TempMS);
- TempMS.Position := 0;
- RichEdit1.PlainText := False;
- RichEdit1.Lines.BeginUpdate;
- RichEdit1.Lines.LoadFromStream(TempMS);
- SendMessage(RichEdit1.Handle, EM_LINESCROLL, 0, top);
- RichEdit1.Lines.EndUpdate;
- finally
- FSyntax.Free;
- end;
- except
- RichEdit1.SelAttributes := RichEdit1.DefAttributes;
- end;
- finally
- RichEdit1.PlainText := True;
- RichEdit1.SelStart := Pos;
- TempMS.Free;
- RichEdit1.OnChange := OnChange;
- end;
- end;
Примечание #1 (12 мая 2009, 16:23): В разделе uses надо psvPas, к томуже везде указывается richedit, мне лень было в коде менять на rxrichedit, я просто компонент переименовал (так что прошу прощения).
 |
Вопрос задал: Ozz (статус: Посетитель)
Вопрос отправлен: 12 мая 2009, 15:57
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 12 мая 2009, 16:29; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 12 мая 2009, 16:14 [#1]:
А что такое "отключить выделение" и зачем оно надо?
во вторых, rxLib уже давно не поддерживается и плавно интегрировались в JVCL...
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Ozz (статус: Посетитель), 12 мая 2009, 16:20 [#2]:
Дело в том, что при использовании может понадобиться не подсвечивать коддинг (не каждому оно ведь и надо), в richeditsyntax можно выбрать язык, синтаксис которого будет выделяться в тексте, но я не нашел возможности отключить это дело.
Насчет rxlib, что было, то и использую, а про JVCL и не слышал...
|
|
Вадим К (статус: Академик), 12 мая 2009, 16:29 [#3]:
ну если есть возможность выбрать язык.... значит есть возможность отключить.
я просто не помню, как именно там подключается. Если там с помощью дополнительных компонент, которые на форму бросаются, а в коде это выглядит как присваивание нужному свойству, то просто надо присваивать nil и всё будет хорошо.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|