|
Отображение текста с тегами форматирования --------------------------------------------------------------------------------
Автор: Dimka Maslov WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com **** >> Отображение текста с тегами форматирования
Рисует строку текста, содержащую теги форматирования, походие на теги HTML.
Поддерживаются следующие теги: .. Полужирный .. Наклонный .. Подчёркнутый
.. Перечёркнутый
.. Увеличить ращмер шрифта на n единиц (по умолчанию 1) .. Уменьшить шрифт на n единиц (по умолчанию 1)
.. Нижний индекс .. Верхний индекс Для правильного отображения внутри тегов и не должно располагаться других тегов
.. Установка параметров шрифта. Размер шрифта указывается как для свойства 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('Test'); try HtDraw.Draw(Canvas, 10, 10); finally HtDraw.Free; end; end;
|