powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
6 сообщений из 6, страница 1 из 1
TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
    #39728428
Devillio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Вопрос скорее по rtf, но т.к. использую DevExpress.VCL, задаю тут :)
Устанавливаю размер:
cxRichEdit.SelAttributes2.Size := 8

А после сохранения вижу в параграфе не \fs16, а fs12
Методом подгона установил, что Size := 11 дает \fs16, но также иногда дает и \fs17 (что 8.5pt)
Подскажите, будьте добры, кто знает, как точно определять размер шрифта?
Нужны 8, 10 и 12 )

Спасибо!
...
Рейтинг: 0 / 0
TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
    #39728616
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по вопросу не знаю ;) , но заметил кое-что похожее

TEdit

Код: pascal
1.
2.
3.
4.
//выставил Font.Name в "Arial"

Font.Size:=8   --> Font.Height=-11
Font.Size:=11  --> Font.Height=-15
...
Рейтинг: 0 / 0
TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
    #39728657
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DevillioВопрос скорее по rtf, но т.к. использую DevExpress.VCL, задаю тут :)

Скорее это вопрос по DevExpress. При пересчёте размеров шрифта используется DPI экрана.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
    #39728720
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DevillioВопрос скорее по rtf, но т.к. использую DevExpress.VCL, задаю тут :)
Устанавливаю размер:
cxRichEdit.SelAttributes2.Size := 8

А после сохранения вижу в параграфе не \fs16, а fs12
Методом подгона установил, что Size := 11 дает \fs16, но также иногда дает и \fs17 (что 8.5pt)
Подскажите, будьте добры, кто знает, как точно определять размер шрифта?
Нужны 8, 10 и 12 )

Спасибо!А стандартный TRichEdit как себя ведёт?
...
Рейтинг: 0 / 0
TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
    #39729000
Devillio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
используется DPI экрана
да, это так. При смене - все цифры меняются.
Решил проблему так. При OnCreate - ставлю RETextPrim.Style.Font.Size := 8;
(иначе на других DPI может быть что угодно там, а у меня еще и скалирование ScaleBy при создании форм, для слабовидящих, тоже влияет).

При изменении пользователем назначаю:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TdlgEditPrim.BTextSize10Click(Sender: TObject);
begin
  RETextPrim.SelAttributes2.Size := 13;
end;

procedure TdlgEditPrim.BTextSize12Click(Sender: TObject);
begin
  RETextPrim.SelAttributes2.Size := 15;
end;

procedure TdlgEditPrim.BTextSize8Click(Sender: TObject);
begin
  RETextPrim.SelAttributes2.Size := 11;
end;


При перемещении курсора
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure TdlgEditPrim.RETextPrimPropertiesSelectionChange(Sender: TObject);
begin

  BTextBold.Down := fsBold in RETextPrim.SelAttributes2.Style;
  BTextItalic.Down := fsItalic in RETextPrim.SelAttributes2.Style;
  BTextUnderline.Down := fsUnderline in RETextPrim.SelAttributes2.Style;

  BTextSize8.Down := RETextPrim.SelAttributes2.Size = 11;
  BTextSize10.Down := RETextPrim.SelAttributes2.Size = 13;
  BTextSize12.Down := RETextPrim.SelAttributes2.Size = 15;

end;


а при сохранении просто "чиню":
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
  function CorrectFonts(AStr: String): String;
  begin
    Result := AStr;
    Result := StringReplace(Result, '\f1 ', '\f0 ', [rfReplaceAll]);
    Result := StringReplace(Result, '\fs17 ', '\fs16 ', [rfReplaceAll]);
    Result := StringReplace(Result, '\fs23 ', '\fs24 ', [rfReplaceAll]);
    Result := StringReplace(Result, '\fs19 ', '\fs20 ', [rfReplaceAll]);
    Result := StringReplace(Result, '\fs21 ', '\fs20 ', [rfReplaceAll]);
  end;


Вдруг кому-то понадобится, вполне подходит :)
...
Рейтинг: 0 / 0
TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
    #39729235
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DevillioРешил проблему так. При OnCreate - ставлю RETextPrim.Style.Font.Size := 8;

Если хочешь задавать размер шрифта в пикселях - не используй Size, используй Heigth.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxRichEdit при сохранении в rtf - Font.Size не соответствует тегу \fsXX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]