Textfarbe ändern
-
-
Danke für den Link.
Ich habe jetzt das folgende Beispiel für Color bei mir eingebunden:// Populate a CHARFORMAT structure accordingly CHARFORMAT cf; cf.cbSize = sizeof(CHARFORMAT); cf.dwMask = CFM_COLOR; cf.dwEffects = 0; cf.crTextColor = RGB(255, 0, 0); // Store the current selection CHARRANGE crCurrent; GetSel(crCurrent); // The character position of the start of the line: long lSelStart = LineIndex(nLineIndex); // Get the text for the current line CString strLineText; int nLineLength = LineLength(lSelStart); int nRead = GetLine(nLineIndex, strLineText.GetBuffer(nLineLength + 3), nLineLength + 1); strLineText.ReleaseBuffer(nRead); // Get the end point for the selection long lSelEnd = lSelStart + strLineText.GetLength(); // Now colour the line SetWordCharFormat(cf);
Leider habe ich jede Menge Errors beim Compilieren:
c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(87): error C2371: 'crCurrent': Neudefinition; unterschiedliche Basistypen c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(88): error C3861: 'GetSel': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(88): error C3861: 'crCurrent': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(91): error C2065: 'nLineIndex': nichtdeklarierter Bezeichner c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(91): error C3861: 'LineIndex': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(95): error C3861: 'LineLength': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(96): error C3861: 'GetLine': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(96): error C3861: 'nLineIndex': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden c:\Dokumente und Einstellungen\Dirk\Eigene Dateien\Visual Studio Projects\w32shell\w32d\w32dDoc.cpp(104): error C3861: 'SetWordCharFormat': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden
Wie bekomme ich mein Programm zum laufen?
-
Hilfe,
ich habe so ein ähnliches Problem
!
Vielleicht könnte jemand Anfänger00 helfen, dann wäre mir auch geholfen.
Danke schon einmal!
-
richedit.h ist eingebunden?
#include <richedit.h>
-
Ja, RichEdit habe ich am Anfang der Seite eingebunden.
-
Da er GetSel usw nicht kennt, hast du den Code vermutlich in der falschen Klasse platziert. Der muss in einer von CRichEdit abgeleiteten Klasse sein, nicht im Dialog.
Außerdem scheinst du ein paar Variablendeklariationen vergessen zu haben. Und eine zuviel.
-
Muß ich da eine RichEditCtrl oder RichEditView Klasse einfügen?
Danke für Deine Hilfe!
-
Sobald ich versuche eine Klasse RichEdit hinzuzufügen kommt die Fehlermeldung "Objekt erforderlich". ?????????????
-
Theoretisch ist schon so eine Klasse in dem Demoprojekt, was du dir angeschaut hast.
Die kannst du einfach in den Ordner deines Projektes kopieren und dann hinzufügen.Hast du schon eine Controlvariable für das Richedit? Wenn nein, leg sie mal an.
Dann änderst du den Typ auf den der gerade importierten Klasse.Dann kannst du damit genauso umgehen wie im Beispiel.
-
Wie erstelle ich denn so eine CtrlVariable?
Bin gerade dabei das Projekt einzubinden.
-
Sowas machst du mit dem Klassenassistenten.
-
Ich sehe keine Möglichkeit die Klassendatei zu kopieren, weil man nur die .cpp Dateien kopieren kann.
Sobald ich versuche eine neue RichEditCtrl Klasse mit dem Klassenassistenten zu erstellen, kommt die Fehlermeldung "Objekt erforderlich".
Danke!
-
Klar kannst du beide Dateien kopieren... nimm bitte den Windows-Explorer.
-
Meinst Du die beiden Dateien aus dem Source Ordner?Dort befindet sich eine .cpp und .h- Datei. Die soll ich in mein aktuelles Projekt kopieren?
Vielen Dank, das einem hier so schnell geholfen wird...
-
Das meine ich.
Und dann dem Projekt hinzufügen (geht in der Dateiansicht).
-
So Chef,
ich bin Deinen Anweisungen gefolgt und habe jetzt die Datei in der entsprechenden Klasse. Wie erstelle ich jetzt die CTRLDatei? Du sagtest mit dem Klassenassistenten?Wie benénne ich die Datei?
-
Nicht Datei - Variable!
So, nun ist erstmal Erklärpause...
-
Ich glaube nicht Datei sondern von estartu_de war eine Control-Variable gemeint.
P.S: Bist du sicher mit "Chef"?
EDIT: estartu_de war schneller.
-
Du hast Dir eine Pause verdient...
Soll ich eine Membervariable erstellen? Wenn ja von welchem Typ und wie muß ich die nennen?
-
estartu_de schrieb:
Hast du schon eine Controlvariable für das Richedit? Wenn nein, leg sie mal an.
Dann änderst du den Typ auf den der gerade importierten Klasse.
Dann kannst du damit genauso umgehen wie im Beispiel.Ja, damit ist eine Membervariable gemeint.