RichMemo/ru

From Free Pascal wiki
Jump to: navigation, search

English (en) polski (pl) русский (ru)

О компоненте...

TRichMemo компонент, который заменяет популярные в Delphi TRichEdit и/или RxRichEdit. RichMemo спроектирован с прицелом на кроссплатформенность, поэтому возможна реализация под любую из платформ. На сегодняшний день существуют реализации под: Win32, Gtk2, MacOS X. И вполне возможна реализация для Qt.

Основные особенности:

  • Подсветка текста
  • Импорт/экспорт текста в RichText формате (RTF)

Возможно появится в будущем: (любая помощь приветствуется)

  • Добавление изображений.
  • Внедрение LCL Контролов?

Скришоты

RichMemo macosx screenshot. Thanks to Dominique Louis

Ошибки

О любых обнаруженных ошибках, сообщайте в баг тректер, для проекта Lazarus-ccr

Автор

Дмитрий 'скалогрыз' Бояринцев aka 'skalogryz'

Лицензия

modified LGPL (same as the FPC RTL and the Lazarus LCL). You can contact the author if the modified LGPL doesn't work with your project licensing.

Скачать

Исходники доступны через SVN, последняя версия всегда доступна здесь: https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/richmemo

Журнал изменений

  • Version 1.0.0 22 июня 2009
  • Version 0.8.0 июнь 2009

Требования

  • Lazarus 1.0.0

Состояние: 'Beta'

Изветные неисправности: Компонент не тестировался и, возможно, имеет большое количество ошибок.

Установка

  • Скачайте исходники пакета
  • Установите пакет в Lazarus и пересоберите его
  • TRichMemo добавится в закладку 'Common Controls'.

RichMemoPalette.PNG

Документация

TRichMemo методы

SetTextAttributes
procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont);
  • TextStart : Integer - номер первого символа, начиная с которого нужно применить изменение шрифта
  • TextLen : Integer - количество символов, к которым нужно применить изменение шрифта
  • AFont : TFont - шрифт, на который будет изменен стиль выбранных символов


procedure SetTextAttributes(TextStart, TextLen: Integer; SetMask: TTextStyleMask; const TextParams: TFontParams);
  • TextStart : Integer - номер первого символа, начиная с которого нужно применить изменение шрифта
  • TextLen : Integer - количество символов, к которым нужно применить изменение шрифта
  • TextParams : TFontParams - запись, описывающая свойтсва шрифта, которые должны быть изменены

SetTextureAttributes метод изменяет шрифт в указанном тексте. Метод не изменяет текущее выделение.

Чтобы изменить стиль текщуего выделения, необходимо передать SelStart и SelLength, в качестве параметров TextStart, TextLength, например:

RichMemo1.SetTextAttributes(RichMemo1.SelStart, RichMemo1.SelLength, FontDialog1.Font);
GetTextAttributes
function GetTextAttributes(TextStart: Integer; var TextParams: TFontParams): Boolean; virtual;
  • TextStart : Integer - номер символа, у которого необходимо получить шрифт
  • var TextParams : TFontParams - возвращаемое значение, которое будет содержать параметры шрифта указанного символа

Функция возвращает параметры шрифта указанного символа. Если в TextStart передан неверный номер символа, функция возвращает False, значение полей записи TextParams неопределено. Если передан правильный TextStart номер символа, функция возвращает True, заполняя запись TextParams

GetStyleRange
function GetStyleRange(CharPos: Integer; var RangeStart, RangeLen: Integer): Boolean; virtual;

Возвращает диапазон символов, который имеет одинаковые параметры шрифта, т.е. у всех символов в диапазоне имя шрифта, размер, цвет и стиль одинаковые.

  • CharPos : Integer - позиция символа, который принадлежит диапазону стиля. Необязательно, чтобы позиция соответствовала началу диапазона. Может быть и в середине, и в конце. Позиция первого символа возвращается в параметре RangeStart.
  • var RangeStart : Integer - первый символ в диапазоне
  • var RangeLen : Integer - количество символов в диапазоне

Метод возвращает True, если завершен успешно. Возвращает False, если CharPos имеет некорректное значение или возникли другие ошибки.

SetRangeColor
procedure SetRangeColor(TextStart, TextLength: Integer; FontColor: TColor);

The method sets color of characters in the specified range to the FontColor. Other font parameters (name, size, styles) are left unchanged.

  • TextStart: Integer - the first character in the range
  • TextLength: Integer - number of characters in the range
  • FontColor: TColor - color that should be set
SetRangeParams
procedure SetRangeParams(TextStart, TextLength: Integer;
    ModifyMask: TTextModifyMask; const FontName: String; 
    FontSize: Integer; FontColor: TColor; 
    AddFontStyle, RemoveFontStyle: TFontStyles);

The method changes font parameters in the specified range.

LoadRichText
function LoadRichText(Source: TStream): Boolean; virtual;
  • Source: TStream - a stream to read richtext data from

The method loads RTF enocded data from the specified stream. Returns true if success, and false otherwise. If source is nil, the method returns false

The content of TRichMemo is completely replaced by the content on the source stream. Current text selection is reset.

SaveRichText
function SaveRichText(Dest: TStream): Boolean; virtual;
  • Source: TStream - a stream to read richtext data from

The method saves RTF enocded data to the specified stream. Returns true if success, and false otherwise. If source is nil, the method returns false

Current state of TRichMemo is unchanged after the method returns

TRichMemo свойства

HideSelection
 property HideSelection: Boolean default false

Свойство на чтение и запись. Если значение True, то RichMemo не будет показывать текущее выделение, если контрол находится не в фокусе. Если значение False, то выделение показывается всегда. Значение по умолчанию False.