Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Mahlzeit!

ich hätt da ein Problem:

Ich soll im Zuge des Erlernens der Oberflächenprogrammierung mit der Borland C++ Builder 5 IDE einen kleinen TextEditor schreiben. Hauptbestandteil ein (T)RichEdit Text-Feld, in dem man ja außer bloßem Text auch u.A. Ausrichtung und Formatierungen zuweisen kann.

Die einzelnen Formatierungen kann man per Check-Box aktivieren bzw. deaktivieren.

jetzt hat man gelernt per Befehl

rchedtText->SelAttributes->Styles << fsBold;

Formatierungen hinzuzufügen und sie per ... >> fsBold; wieder zu entfernen.

Dies geschieht also wenn die CheckBox.Checked() = true bzw false ist.

Soweit sogut.

Jetzt ergibt sich folgendes problem. Ist der Text (oder ein Bereich davon) bereits mit einem Style formatiert und man fügt eine Weitere formatierung hinzu, verliert der Text (im Bereich der Markierung) seine vorherige Formatierung und besitzt also nur noch die gerade aktivierte.

Dabei tritt noch ein weiteres Problem auf: die alte Formatierung geht zwar verloren, aber die Check-Box ist immernoch Checked, obwohl das für den Text-Bereich nicht zutreffend ist.

Ich dachte also an ein Ereignis zur Überprüfung der Textformatierung an der Stelle, an die sich der Cursor bewegt (also wohin die Maus Clickt und wieder loslässt).

Die Befehl den ich zum Überprüfen der gesetzten Formatierungsattribute verwende, lautet:

rchedtText->SelAttributes->Styles.Contains(fsBold);

Das Ereignis das ausgeführt werden soll: rchedtText::OnMouseUp (?)

Das war ein steiniger Weg bis hierher, nur so hab ich es gesagt bekommen, dass es funzen würde.

NUR: kompiliere ich jetzt, funktioniert das noch, starte ich das Programm aber, bekomme ich sofort einen Laufzeitfehler (noch bevor ich die Maske sehe) und in einer .hpp die Fehlerstelle markiert.

Ich kann morgen ja mal genaueres dazu posten - hab das Projekt grad nicht da.

Wär stark wenn mir da jemand helfen könnte...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...