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

Отображение текста с тегами форматирования

Delphi , Графика и Игры , Canvas

Отображение текста с тегами форматирования

Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Отображение текста с тегами форматирования

Рисует строку текста, содержащую теги форматирования, походие на теги HTML.

Поддерживаются следующие теги:
<b>..</b> Полужирный
<i>..</i> Наклонный
<u>..</u> Подчёркнутый
<s>..</s> Перечёркнутый

<big[ n]>..</big> Увеличить ращмер шрифта на n единиц (по умолчанию 1)
<small[ n]>..</small> Уменьшить шрифт на n единиц (по умолчанию 1)

<sub>..</sub> Нижний индекс
<sup>..</sup> Верхний индекс
Для правильного отображения внутри тегов <sub> и <sup> не должно располагаться других тегов

<font name="Имя шрифта" size="Размер" color="Цвет" charset="Кодовая страница">..</font> 
Установка параметров шрифта.
Размер шрифта указывается как для свойства TFont.Size, а не как в HTML. 
В качестве цвета можно указывать либо константы clXXXX либо числа в формате #RRGGBB, 
где RR GG и ВВ соответственно шестнадцатеричные значения 00..FF красной, 
зелёной и синей составляющей, HTML цвета не поддерживаются. В параметре charset 
указываются константы XXXX_CHARSET, например RUSSIAN_CHARSET или ANSI_CHARSET

Зависимости: Windows, SysUtils, Classes, Graphics, Dim
Автор:       Dimka Maslov, mainbox@endimus.com, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        17 марта 2004 г.
***************************************************** }

unit HtDraw;

interface

uses Windows, SysUtils, Classes, Graphics, Dim;

type
  TTag = class;

  THtDraw = class(TObject)
  private
    FTag: TTag;
    FText: TString;
    procedure SetText(Value: TString);
  public
    function Draw(Canvas: TCanvas; X, Y: Integer): Integer;
    // Canvas - устройство для отображения текста.
    // в свойстве Canvas.Font задаются начальные параметры шрифта
    // X, Y - начальные координаты
    // Функция возвращает сумму X и ширины выведенного текста
    property Text: TString read FText write SetText;
    // Задаёт текст для отображения. В отличие от свойств компонентов,
    // присвоение значения этого свойства не приводит к автоматической
    // перерисовке. Необходимо вызывать метод Draw
    constructor Create(const AText: TString);
    destructor Destroy; override;
  end;

Полный текст модулей располагается по адресам:
HtDraw: http://downloads.endimus.com/htdraw.zip
Dim : http://downloads.endimus.com/dimpas.zip

Пример использования:

var
  HtDraw: THtDraw;
begin
  HtDraw :=
    THtDraw.Create('<b>T</b><i>e</i><u>s</u><s>t</s>');
  try
    HtDraw.Draw(Canvas, 10, 10);
  finally
    HtDraw.Free;
  end;
end;

Программный компонент THtDraw, написанный на языке Delphi, позволяет отображать текст с использованием форматированных тегов, аналогичных HTML. Компонент поддерживает следующие теги:

  • <b>..</b> - жирный текст
  • <i>..</i> - курсив
  • <u>..</u> - подчеркивание
  • <s>..</s> - зачеркнутый текст
  • <big[ n]>..</big> - увеличение размера шрифта на n единиц (по умолчанию 1)
  • <small[ n]>..</small> - уменьшение размера шрифта на n единиц (по умолчанию 1)
  • <sub>..</sub> - подстрочный текст
  • <sup>..</sup> - надстрочный текст
  • <font name="имя шрифта" size="размер" color="цвет" charset="кодировка">..</font> - настройка свойств шрифта

Компонент использует объект TCanvas для рисования текста и возвращает сумму координаты начала рисования и ширины нарисованного текста.

В коде есть следующее:

  • Единица HtDraw содержит определение класса THtDraw.
  • Класс имеет три приватных поля: FTag, которое является экземпляром класса TTag, FText, который является строкой, хранящей текст для рисования, и процедуру SetText для установки текста.
  • Класс также имеет два публичных метода: Draw, который рисует текст на канвасе, и Create, который создает экземпляр класса. Конструктор принимает строковый параметр, устанавливающий начальный текст для компонента.
  • Деструктор переопределен для освобождения ресурсов, используемых компонентом.
  • Есть два свойства: Text (пары getter/setter) и Draw (метод), которые позволяют установить текст для рисования и нарисовать его на канвасе.

Пример использования в конце кода демонстрирует создание экземпляра компонента THtDraw, установку текста с использованием тегов <b>, <i>, <u> и <s>, а также рисование его на канвасе.

Отображение текста с тегами форматирования - программный модуль на Delphi для отображения текста с использованием HTML-тегов форматирования.


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

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




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


:: Главная :: Canvas ::


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-02 21:17:23/0.0035948753356934/0