Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Название статьи: Как изменить шрифт для нетекстовых символов в TRichEdit в Delphi XE на Windows 7

Delphi , Графика и Игры , Шрифты

В статье рассматривается проблема изменения шрифта для нетекстовых символов в компоненте TRichEdit в среде Delphi XE на операционной системе Windows 7. Основываясь на предоставленном контексте, статья будет содержать решение этой проблемы и примеры кода на языке Object Pascal, который используется в Delphi.

Основные шаги решения проблемы:

  1. Использование версии RichEdit не ниже 4.1.
  2. Сброс кода символа (charset) для нетекстовых символов перед изменением шрифта.
  3. Пример процедуры изменения шрифта в TRichEdit.

Пример кода:

procedure TMainForm.ButtonFontClick(Sender: TObject);
var
  format: TCharFormat2;
begin
  if dlgFontCdxTxt.Execute then
  begin
    // Сброс кода символа для нетекстовых символов
    FillChar(format, sizeof(format), 0);
    format.cbSize := SizeOf(format);
    format.dwMask := CFM_CHARSET;
    format.bCharSet := 1; // или 0; в зависимости от нужного кодирования
    redtTextBlock.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@format));

    // Установка шрифта для выделенного текста
    FillChar(format, sizeof(format), 0);
    format.cbSize := SizeOf(format);
    format.dwMask := CFM_FACE;
    StrPLCopy(format.szFaceName, dlgFontCdxTxt.Font.Name, High(format.szFaceName));
    redtTextBlock.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@format));
  end;
  redtTextBlock.SetFocus;
end;

Дополнительные сведения:

  • В Windows 2000 SP4 или XP SP2 изменение шрифта для нетекстовых символов в WordPad невозможно, так как они используют старые версии RichEdit.
  • В Windows 7 SP1 и выше, после изменения шрифта на "Arial Unicode MS", можно выбрать любой другой шрифт для нетекстовых символов.
  • Компонент TRichEdit в Delphi XE на Windows 7 может открывать и корректно отображать документы WordPad, созданные в Windows 7, но без возможности изменить шрифт для нетекстовых символов на другие, кроме "Arial Unicode MS".

Заключение:

Для изменения шрифта нетекстовых символов в TRichEdit в Delphi XE на Windows 7 необходимо сначала сбросить код символа и затем установить нужный шрифт. Важно использовать версию RichEdit не ниже 4.1 для достижения желаемого результата. Предоставленный пример кода демонстрирует, как это можно сделать.

Создано по материалам из источника по ссылке.

В статье рассматривается проблема изменения шрифта для нетекстовых символов в компоненте `TRichEdit` в среде Delphi XE на операционной системе Windows 7, с предоставлением решения и примеров кода на Object Pascal для достижения этой цели.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Шрифты ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 14:42:37/0.0034129619598389/0