RichTextBox: FontStyle hinzufügen
-
Hi,
wie der Name schon sagt, ich möchte den Text einer RichTextBox formatieren, also den FontStyle ändern (Fett, Unterstrichen ...).
Ich habe auch hier: http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c89c.aspx#q804q ein kleines Beispiel gelesen. Das ist aber leider für C#. Ich habe versucht es so gut wie möglich zu konvertieren doch ich bekomme immer einige Fehler, z.B.:System::Drawing::Font: Die Klasse hat keinen Kopierkonstruktor.
Weiß einer wie das anders geht?
-
Bei welcher Zeile kommt der Fehler?
-
Ich bekomme insgesamt 4 Fehler.
Je 2 in den beiden Funktionen.
Der erste Fehler kommt in Zeile 3 der beiden Funktionen, wo die Variablen deklariert werden.
(Jedesmal die selbe Zeile:)System::Drawing::Font currentFont;
Da meldet Visual Studio, es waäre kein geeigneter Standard-Konstruktor verfügbar.
Der zweite Fehler in den beiden Funktionen kommt jeweils in Zeile 8:
currentFont = this->TextFeld->SelectionFont;
Hier bekomme ich den Fehler, dass 'operator =' für die Klasse nicht verfügbar sei.
-
Ein "Font" ist eine Klasse und kein Struct; somit muss man es als Referenz schreiben:
[cpp]System::Drawing::Font **^**currentFont;[/cpp]
(ausser Du definierst es nur innerhalb von Methoden; aber nur so am Rande erwähnt)
-
Oh, ja daran hab ich gar nicht gedacht.
Zwar funktioniert das kompilieren jetzt, aber irgendwie laufen die Funktionen nicht so wie ich dachte.
Wenn ich z.B. beim Klick auf einen Button will, das der nachfolgende Text fett, bis der Button wieder deaktiviert wurde, schreibe ich:if (this->FettButton->Checked) { AddFontStyle(System::Drawing::FontStyle::Bold); } else { RemoveFontStyle(System::Drawing::FontStyle::Bold); }
Nur leider ist der Text, den ich dann schreibe, nicht fett, sondern ganz normal. Ich muss einen Text markieren und dann auf den Button klicken, damit er Fett. Und wenn cih dann weiterschreibe, bleibt der Text fett, auch wenn ich den Button deaktiviere.
Könnt ihr mir nochmal helfen?
Schonmal danke für die Hilfe bis jetzt![edit]
Hab das jetzt doch selbst hinbekommen. Ich habe in den Funktionen die schleife und das Select wegfallen lassen.
Funktioniert jetzt alles einwandfrei, danke für eure Hilfe! [/edit]