Discussion:
RichTextBox + Hintergrundfarbe
(zu alt für eine Antwort)
Dirk Herwig
2010-04-08 07:28:10 UTC
Permalink
Hallo,

ich habe einen RTF-File mit einem roten Hintergrund und weißer Schrift. Wenn
ich dieses Dokument in der RichTextBox lade, dann wird dieses mit weißen
Hintergrund und schwarzer Schriftfarbe angezeigt
("richTextBox1.LoadFile("f:\\tmp\\text.rtf");"). Gibt es eine Möglichkeit,
dass das Dokument mit den gespeicherten Attributen angezeigt wird?

Gruss

Dirk
Ulf Kadner
2010-04-08 07:44:39 UTC
Permalink
Post by Dirk Herwig
ich habe einen RTF-File mit einem roten Hintergrund und weißer Schrift.
Man kann eigentlich für RTF-Dokumente keine Hintergrundfarbe setzen. Das
wäre dann irgend eine Erweiterung des RTF-Formats die MS-Controls
nicht verstehen.

Wordpad kann jedenfalls keine Hintergrundfarbe für ein Dokument setzen.

Und Wenn nur der Text mit der Hintergrundfarbe hinterlegt ist funktioniert
das Laden des Dokument in der Box wie gewollt.

MfG, Ulf
FrankDzaebel
2010-04-08 08:02:00 UTC
Permalink
Hallo Dirk,
Post by Dirk Herwig
ich habe einen RTF-File mit einem roten Hintergrund und weißer Schrift.
Zum Beispiel:

richTextBox1.BackColor = Color.Red;
richTextBox1.ForeColor = Color.White;
richTextBox1.Font = new Font("Arial", 18, FontStyle.Bold);


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Dirk Herwig
2010-04-08 08:05:49 UTC
Permalink
Aus dem vorhandenen Dokument kann man diese Infos wie Text, Farbe und
Hintergrund nicht auslesen? Das RTF Dokument wurde mit MS Word erstellt.

Dirk
Ulf Kadner
2010-04-08 10:05:50 UTC
Permalink
Post by Dirk Herwig
Aus dem vorhandenen Dokument kann man diese Infos wie Text, Farbe und
Hintergrund nicht auslesen?
Da kannst das sicher Programmieren. Aber es ändert nichts daran das
Hintergrundfarbe erst mal keine gültige Dokumenteigenschaft für
RTF-Spezifikation 1.5 ist.

Da Du mein Posting ignoriert hast nehme ich an das das Du es übersehen
hast das ich Dich bereits darauf hingewiesen habe.

Ist alles natürlich ordentlich in der Spec zur RTF festgelegt:

http://www.biblioscape.com/rtf15_spec.htm#Heading26

Wenn Du diese Werte extrahieren willst must Du erst mal ermitteln wie
diese gesetzt sind.

MfG, Ulf
Dirk Herwig
2010-04-08 10:10:09 UTC
Permalink
Danke. Werde es mir gleich mal ansehen. Vielleicht geht es ja, dass ich die
Attribute auslesen kann und dann dynamisch setze.

Dirk
FrankDzaebel
2010-04-08 14:16:37 UTC
Permalink
Hallo Ulf und Dirk,
[...] RTF-Spezifikation 1.5 ist. [...]
beachtet bitte (zur Sicherheit), dass die .NET RichTextBox
die RTF 1.6 Spezifikation benutzt. Dirk, Du sprachst von Word-
Erstellung. Neuere Word-Versionen speichern z.T. in RTF Spec
1.7, 1.8 und 1.9.1! Das ist z.T. nicht in 1.6 abbildbar.
Dadurch wird das RTF intern in der .NET RichTextBox auf den
kleinsten gemeinsamen Nenner reduziert. Weiterhin sind auch
bestimmte Features der RichTextBox erst durch Aktivierung
typografischer Extensions etc. verfügbar ... :

[Rich Text Format (RTF) Specification, version 1.6 - Header]
http://msdn.microsoft.com/en-us/library/aa140301.aspx

[RichTextBox.Rtf-Eigenschaft (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/library/system.windows.forms.richtextbox.rtf.aspx

[Extending RichTextBox]
http://geekswithblogs.net/pvidler/archive/2003/10/15/182.aspx


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Dirk Herwig
2010-04-12 09:17:19 UTC
Permalink
Danke für die Hilfe. Ich habe mich doch entschlossen, die Hintergundfarbe
zusätzlich mit zu übergeben, ist sicherlich der einfachere Weg.

Dirk
Frank Dzaebel
2010-04-12 16:55:02 UTC
Permalink
Hallo Dirk,
Post by Dirk Herwig
Danke für die Hilfe. Ich habe mich doch entschlossen, die
Hintergundfarbe zusätzlich mit zu übergeben, ist sicherlich der
einfachere Weg.
hätte ich pragmatisch auch so gemacht.
Schön.


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Loading...