IRichText

Aus AquaSoft Wiki
Wechseln zu: Navigation, Suche

IRichText erlaubt es Diashow-Objekten, die Text enthalten können, diesen mit Formatierungen zu versehen. Um auf die Textformatierung zugreifen zu können muss das Objekt auf IRichText gecastet werden:

  var Text = Item as IRichText;

IRichText unterstützt die folgenden Methoden:

  procedure SetRichText(const Value: string);
  function GetRichText: string;
  procedure SetStyle(const CharIndexBegin, CharIndexEnd: Integer; const RichTextStyle: TRichTextStyle; const SetValues: TRichTextStyleTypes);
  function GetStyle(const CharIndex: Integer; out RichTextStyle: TRichTextStyle): Boolean;
  property RichText: string read GetRichText write SetRichText;


Methoden

  • Objekt Erzeugung
  function CreateText: IText;
  var richText = CreateText as IRichText;
  • RichText abrufen oder setzen
  procedure SetRichText(const Value: string);
  function GetRichText: string;

Liefert oder setzt den formatierten Text im Rich Text-Format


  • Textformatierung setzen oder abrufen
procedure SetStyle(const CharIndexBegin, CharIndexEnd: Integer; const RichTextStyle: TRichTextStyle; const SetValues: TRichTextStyleTypes);

Setzt die Formatierung für einen Teil des Textes.

CharIndexBegin: Nr. des ersten Zeichens, für das die Formatierung gesetzt werden soll (das erste Zeichen hat die Nummer 0)
CharIndexEnd: Nr. des letzten Zeichens, für das die Formatierung gesetzt werden soll
RichTextStyle: eine Datenstruktur, die Formatierungsangaben enthält
SetValues: gibt an, welche der in RichTextStyle gesetzten Formatierungen angewendet werden soll
function GetStyle(const CharIndex: Integer; out RichTextStyle: TRichTextStyle): Boolean;

Liefert die Formatierung eines Zeichens

CharIndex: Nummer des Zeichens, für das die Formatierung ermittelt werden soll (das erste Zeichen hat die Nummer 0)
RichTextStyle: enthält nach dem Aufruf die Zeichenformatierung

Beispiel

  var RichText = SlideShowObject as IRichText;
  if RichText = nil then
    Continue;

  var TextFormat: TRichTextStyle;      
  TextFormat.Style := [fsBold];

  // Den ganzen Text fett machen
  RichText.SetStyle(0, (RichText as IText).Count - 1, TextFormat, [stStyle]);