AW: RTF - Absatzhintergrund setzen
6. Jul 2011, 20:54
Hallo, ich sah den Hilferuf bei lima-city - wo ich leider gesperrt bin - und habe mich darum hier angemeldet, um antworten zu können.
Also, das mit den Hintergrundfarben geht durchaus mit TRichEdit, vorausgesetzt man weiß wie. Ich habe das auch schon mit Delphi 5 unter Windows XP eingesetzt.
Aus PDF-Datei extrahiert ( Toolbox 5/2005, Seite 91 ) :
Erweiterte Formate im Richeditfeld
Mit der Struktur TCharFormat lassen sich beim RichEdit-
Feld in Delphi weitere Text-Formatierungen einstellen:
PROCEDURE TForm1.SetCharFormat(CharacterFormat: INTEGER); Icon.Free;
// Subscript / Superscript // ...
VAR
Format: TCharFormat;
BEGIN
FillChar(Format, SizeOf(Format), 0);
WITH Format DO BEGIN
cbSize := SizeOf(Format);
dwMask := CFM_OFFSET;
CASE CharacterFormat OF
CFE_Superscript: yOffset := 40;
CFE_Subscript : yOffset := -40;
0 : yOffset := 0;
END;
END;
Unter Windows XP ist die von der Komponente genutzte
RICHED32.DLL (Version 1) nur noch ein Wrapper für
RICHED20.DLL (Version 3). Dadurch werden Formatie-
rungen mit der Struktur CHARFORMAT2 ermöglicht:
Hintergrundfarbe
PROCEDURE TForm1.SetBColor(AColor: TColor);
VAR
Format: CHARFORMAT2;
BEGIN
FillChar(Format, SizeOf(Format), 0);
WITH Format DO BEGIN
cbSize := SizeOf(Format);
dwMask := CFM_BACKCOLOR;
crBackColor := AColor;
RE.Perform(EM_SETCHARFORMAT, SCF_SELECTION,
LongInt(@Format));
END;
END;
Die einzelnen Funktionen zeigt das Beispielprogramm auf
der CD-ROM im Zusammenhang.
(Wolfgang Beintvogl)
Wie ich gerade sehe, sind Anhänge möglich. Also packe ich doch gleich mal das Beispielprogramm dazu.
Viel Glück.
|