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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 11:57   #1
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию RichEdit вставка форматированного текста и расстояние между строками.

Мне нужно чтобы когда я вставлял форматированный текст(например из ворда) он автоматически форматировался в формат которой установлен в RichEdit. Я ничего не придумал лучше такой процедуры:

Код:
procedure TFMain.DefoultFormat;
  var
    SS, SL : Integer;
begin
   SS := Edit.SelStart;
   SL := Edit.SelLength;

   Edit.SelectAll;
   Edit.SelAttributes.Assign(Edit.Font);
   Edit.Paragraph.

   Edit.SelStart := SS;
   Edit.SelLength := SL;
end;
Её вызывает нажатие определенных клавиш. т.е. вставил текст нажал cntr+f текст стал в нужном формате.

Но возникла проблема, расстояние между строк остается как было в отформатированном тексте. Как это исправить не нашёл.

Два вопроса: какой параметр отвечает за расстояние между строками и как можно отловить текст из буфера и изменить его?
Armorer вне форума Ответить с цитированием
Старый 29.04.2009, 20:43   #2
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Пробовал RichEdit.Paragraph но с помощью него не получилось изменить расстояние.
Armorer вне форума Ответить с цитированием
Старый 30.04.2009, 08:16   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Расстояние между строк ...
Попробуй :
Код:
procedure _SetLineSpacing(ARichEdit: TRichEdit; lineSpacing: Byte);
 var
   pFormat2: ParaFormat2;
 begin
   FillChar(pFormat2, SizeOf(pFormat2), 0);
   pFormat2.cbSize := SizeOf(PARAFORMAT2);
   pFormat2.dwMask := PFM_LINESPACING;
   pFormat2.bLineSpacingRule := lineSpacing;
   SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, 0, Longint(@pFormat2));
 end;
Не забудь подключить в uses модуль RichEdit.
Использование примерно так :
Код:
_SetLineSpacing(RichEdit1, 1);// значение 1 или 2
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расстояние между абзацами в CSS Андрей79 HTML и CSS 4 13.04.2009 09:59
max расстояние между плоскими телами! Flanker13 Общие вопросы Delphi 3 17.03.2009 13:46
Расстояние между 2 городами Uli9 Помощь студентам 1 06.12.2008 22:40
Как узнать расстояние между делениями у Тракбара? Кирилл13 Помощь студентам 1 11.11.2008 11:44
Вставка текста в RichEdit NoName_emaNoN Компоненты Delphi 4 03.05.2008 12:12