Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Отображение текста с тегами форматирования

Автор: 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;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay