Архив исходников программ, модулей и компонентов на Delphi


Начальная страница

Поиск по базе



Операционная система
Настройка приложения
Взаимодействия приложений
Файлы и директории
Строки и символы
Математика
Базы данных
Интернет и сеть
Мультимедиа
Аппаратная часть
VCL
Другие разделы [0]
 

Количество записей в базе - 537
Сегодня добавлено – 0

Модификация компонентов



Вернуться к списку функций
 Отображение текста с тегами форматирования

 Прислал: Dimka Maslov (Санкт-Петербург) ( 17 марта 2004 г. )
©  Dimka Maslov
 Описание:
Рисует строку текста, содержащую теги форматирования, походие на теги 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

 Ограничения:
Проверено в D7/Win2K

 Исходный текст:
{ **** UBPFD *********** by http://kladovka.net.ru/delphibase/ ****
>> Отображение текста с тегами форматирования

Рисует строку текста, содержащую теги форматирования, походие на теги 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://delphibase.spb.ru/download/htdraw.zip
Dim : http://downloads.spb.ru/download/dimpas.zip

 Пример использования:
var
 HtDraw: THtDraw;
begin
 HtDraw := THtDraw.Create('<font name="Times New Roman" size=12 color=clNavy charset=RUSSIAN_CHARSET><b>T</b><i>e</i><u>s</u><s>t</s> <font color=clRed><sub>100</sub> <sup>200</sup></font></font>');
 try
  HtDraw.Draw(Canvas, 10, 10);
 finally
  HtDraw.Free;
 end;
end;


Вернуться к списку функций

Наверх ▲