Компонент Richmemo

Модератор: Модераторы

Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Re: Компонент Richmemo

Сообщение *Rik* »

скалогрыз писал(а):r3916

Вроде работает.
TDBRichMemo нет в планах изготовить?
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

*Rik* писал(а):TDBRichMemo нет в планах изготовить?

у меня нет, а вот у других - да :wink:
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

под шумок добавил поддержку "inline" объектов для gtk2 (r3920). Пример "inline" должен работать, так же как и на винде.
Да - утечки, но шаг в нужном направлении - создание гламурных кроссплатформенных чатов и документаций на LCL основе... хотя до HTMLView не дотянуть :) в виду "естественной" ограниченности "нативных" едиторов.
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Re: Компонент Richmemo

Сообщение *Rik* »

скалогрыз
Сделай пример, как в RichMemo стиль текста менять..
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

*Rik* писал(а):Сделай пример, как в RichMemo стиль текста менять..

так пойдёт

Код: Выделить всё

procedure ChangeParam(rm: TRichMemo; fs: TFontStyle);
var
  fp   : TFontParams;
begin
  rm.GetTextAttributes(rm.SelStart, fp);
  if fs in fp.Style then
    rm.SetRangeParams(rm.SelStart, rm.SelLength, [tmm_Styles], '', 0, clNone, [], [fs])
  else
    rm.SetRangeParams(rm.SelStart, rm.SelLength, [tmm_Styles], '', 0, clNone, [fs], []);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ChangeParam(RichMemo1, fsBold);
end;

?
(полный проект в аттачменте)

после r4064 можно и старым добрым делфи способом

Код: Выделить всё

uses ... RichMemoHelpers;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if fsBold in RichMemo1.SelAttributes.Style then begin
    RichMemo1.SelAttributes.Style:=RichMemo1.SelAttributes.Style-[fsBold]
  end else
    RichMemo1.SelAttributes.Style:=RichMemo1.SelAttributes.Style+[fsBold];
end;

Вложения
richmemostyle.zip
(2.28 КБ) 1225 скачиваний
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Re: Компонент Richmemo

Сообщение *Rik* »

скалогрыз писал(а):после r4064 можно и старым добрым делфи способом

r4064 уже доступна?
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

да, конечно, через svn.
r4064 нужна чтобы "делфийский" способ работал при убирании стиля текста. Если не использовать делфи подоход, то использовать r4064 не обязательно.

Добавлено спустя 4 минуты 54 секунды:
совет: проверь Project -> View Project Source
если в его uses секции обнаружится richmemopackage - то его можно смело из этой самой uses секции убрать
Должно благотворно сказаться на итоговом размере бинарика.
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Компонент Richmemo

Сообщение Xenar »

День добрый
После обновления компонента до текущей ревизии обнаружил два неприятных момента

1) При удалении визуального компонента с формы, Lazarus падает (начиная с ревизии 3910)
2) Начиная с ревизии 4040 при использовании в проекте DbGrid и конструкции типа

Код: Выделить всё

DBGrid1.Columns[i].Title.Alignment:=[b]taCenter[/b];


taCenter почему то начинает "искать себя" в модуле richmemo в 94 строке
TTabAlignment = (taHead, taCenter, taTail, taDecimal, taWordBar);

(Интересно что taRightJustify и taLeftJustify "обращаются" в правильный модуль, такая фигня только с taCenter)

соответственно получаем ошибку

Код: Выделить всё

 Error: Incompatible type for arg no. 1: Got "TTabAlignment", expected "TAlignment"


Ubuntu 14.04 x32 Lazarus 1.4 fpc 2.6.4
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

Xenar писал(а):1) При удалении визуального компонента с формы, Lazarus падает (начиная с ревизии 3910)

винды или линуксы?

Добавлено спустя 5 минут 6 секунд:
Xenar писал(а):2) Начиная с ревизии 4040 при использовании в проекте DbGrid и конструкции типа

r4140 исправляет сие недоразумение. RichMemo более не переобьявляет taCenter (переименовано в tabCenter)
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Компонент Richmemo

Сообщение Xenar »

скалогрыз писал(а):
Xenar писал(а):1) При удалении визуального компонента с формы, Lazarus падает (начиная с ревизии 3910)

винды или линуксы?

(внизу сообщения)
Ubuntu 14.04 x32 Lazarus 1.4 fpc 2.6.4
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

Xenar писал(а):(внизу сообщения)
Ubuntu 14.04 x32 Lazarus 1.4 fpc 2.6.4


call stack (backtrace) бы?!

Добавлено спустя 7 часов 57 минут 7 секунд:
Xenar писал(а):1) При удалении визуального компонента с формы, Lazarus падает (начиная с ревизии 3910)

хех. Везде свои тонкости - r4142. проблемы более быть не должно.
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Re: Компонент Richmemo

Сообщение Xenar »

Все нормально за исключением в gtk2richmemo в строке 1159

Код: Выделить всё

 AStopList.Tabs[i].Align:=taLeft;

а должно быть

Код: Выделить всё

 AStopList.Tabs[i].Align:=tabLeft;


так кажется
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Re: Компонент Richmemo

Сообщение alexs »

Xenar писал(а):Все нормально за исключением в gtk2richmemo в строке 1159


Я по этому поводу уже и в багтрекер запостил

http://bugs.freepascal.org/view.php?id=28130
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Компонент Richmemo

Сообщение скалогрыз »

r4143
woodhead
новенький
Сообщения: 21
Зарегистрирован: 24.12.2014 11:23:20

Re: Компонент Richmemo

Сообщение woodhead »

Здравствуйте.
А есть ли возможность с помощью RichMemo программно добавлять таблицу в документ rtf и редактировать в ней данные?
Ответить