Textfarbe ändern



  • Hallo Paul!
    Wie Du bestimmt gemerkt hast, ich bin ein Programmieranfänger.
    Wenn Du mit noch verraten würdest was für einen Typ von Membervariable ich erstellen soll u. wie die heißen muß, wäre ich Dir sehr dankbar!



  • Nachdem ich die Klassen eingebunden habe kommt beim Ausführen des Programms die Fehlermeldung "unerwartetes Programmende".Wodran kann das liegen?



  • Beim Ausführen oder beim Compilieren?
    Hast du irgendwo eine schließende Klammer vergessen?

    So ein Fehler ist ätzend zu finden. 🙄



  • oder evtl nen Semikolon nach einer Klasse?



  • Danke für Eure Antworten. Den Fehler habe ich gefunden, es lag an den Eigenschften des Programms. Es hat nach vorcompilierten Headern gesucht, die nicht vorhanden waren.

    Es bahnt sich allerdings ein neues Problem an. In meinem alten Programm wurde die Textdatei über include eingebunden. Dies funktioniert beim RichEdit-Programm jetzt nicht mehr. Woran könnte dies liegen?
    Ich danke Euch!



  • Anfänger00 schrieb:

    Es bahnt sich allerdings ein neues Problem an. In meinem alten Programm wurde die Textdatei über include eingebunden. Dies funktioniert beim RichEdit-Programm jetzt nicht mehr. Woran könnte dies liegen?

    Wie versuchst du es? Code?
    Woran merkst du, dass es nicht mehr geht?



  • Ich weiss nicht woran es lag aber jetzt kann ich die Datei wieder einbinden.

    Kannst du mir vielleicht sagen wie ich in dem folgenden Code

    CString str1,str2;
    #include "NeuesDokument.inc"
    	CFileDialog dlg(TRUE);
    	if(IDOK == dlg.DoModal())
    	{
    		CWaitCursor wait;
    		m_ctrlHtmlRichEdit.LoadFile(dlg.GetPathName());
        }
    

    es schaffe, dass bei LoadFile nicht der Dialog aufgeht, sondern die Datei "NeuesDokument.inc" sofort eingebunden wird?
    Danke für deine Gedult mit mir 🙂 !



  • das ist aber müll was du da schreibst.

    #include "NeuesDokument.inc"
    

    brauchst du überhaupt nicht.

    und mit nem bischen nachdenken schaffst du das auch selbst.

    in

    m_ctrlHtmlRichEdit.LoadFile(dlg.GetPathName());
    

    übergibst du einen dateipfad an m_ctrlHtmlRichEdit.LoadFile(). wenn du da jetzt deine eigene datei rein haben willst, dann mach einfach

    m_ctrlHtmlRichEdit.LoadFile("NeuesDokument.inc");
    
    dlg.DoModal()
    

    rufst du dabei gar nicht auf, du willst den dialog ja nicht anzeigen.

    (du musst nur aufpassen das der dateipfad stimmt. wenn du nur den dateinamen übergibst such er im aktuellen programmverzeichnis nach der datei)



  • Gesagt, getan.
    Ergebnis:

    error C2664: 'CHtmlRichEditCtrlSSL::LoadFile': Konvertierung des Parameters 1 von 'const char [18]' in 'CString &' nicht möglich
    

    Hatte auch schon die Datei NeuesDokument.inc so eingefügt, nur habe ich leider die
    "" vergessen.
    Wie mein Nick schon sagt, Anfänger halt.
    Danke für die Hilfe!



  • Hilllffffeeeee!!!!!!!!!!!!!!!!!!

    Kann jetzt den Code kompilieren (ohne Warnung) und Ausführen.
    Wenn ich aber im Programm auf einen bestimmten Button klicke bekomme ich die Fehlermeldung: "Kein Fehler aufgetreten" ?! 😮

    Weiss jemand weiter? 😞



  • Lies mal den Artikel zum Debuggen (im Magazin). Da steht, wie du nun weitersuchen kannst. 🙂
    1. Programm anhalten
    2. Im Callstack nach bekanntem Code gucken



  • Danke für den Tipp. 🙂
    Werde mir den Artikel gleich durchlesen.
    Eine Frage noch: habe gesehen, dass dein Artikel sich auf VC++ 6 bezieht.
    Ich arbeite aber mit VC++.Net 2003.
    Macht das einen Unterschied?



  • Keinen sehr großen.
    Falls du doch etwas nicht findest, dann frag. Ich habe hier auch VC 2003 und gucke dann mal, ob ich es finde.
    Die Schaltflächen und Fenster können anders aussehen, aber finden solltest du alles.
    Die Vorhensweisen kannst du aber auf jeden Fall übertragen. 🙂



  • Super, danke!
    Widme mich wieder dem Artikel (habe schon ein paar Übereistimmungen gefunden).
    Fragen werden sich bestimmt noch bei mir ergeben. 😉
    Wäre schön, wenn du mir dann auch weiter mit Rat und Tat beistehen würdest. 🙂



  • Habe jetzt einen Haltepunkt an einer Stelle gesetzt die Probleme macht.
    Den Callstack habe ich auch geöffnet und sehe dort auch meine Funktion.
    Gibt es eine Möglichkeit den Inhalt einer Variablen einzusehen?



  • Steht eigentlich auch im Artikel:
    Maus drüber halten, das ist ein Tooltip.
    Oder mit TRACE.
    Oder die ganzen Tabs mal durchklicken, irgendwo muss das Fenster doch sein...



  • Irgendwie komme ich nicht weiter.
    Ich habe den folgenden Code:

    m_ctrlHtmlRichEdit.LoadFile(dlg.GetPathName());
    

    Ich möchte in etwa

    m_ctrlHtmlRichEdit.LoadFile("NeuesDokument.inc");
    

    haben, damit die Datei "NeuesDokument.inc" sofort angezeigt bzw. geladen wird.

    Leider bekomme ich dann beim Kompilieren eine Fehlermeldung

    error C2664: 'CHtmlRichEditCtrlSSL::LoadFile': Konvertierung des Parameters 1 von 'const char [18]' in 'CString &' nicht möglich
    

    Ich habe nun im Debug in beiden Fällen einen Haltepunkt in der jeweiligen Zeile gesetzt. Wenn das Programm jetzt jeweils bei den Punkten anhält und ich die Maus über

    m_ctrlHtmlRichEdit
    

    halte, bekomme ich die gleichen Angaben bis auf zwei ausnahmen angezeigt. Die beiden Fälle unterscheiden sich nur durch

    hWnd=0x00xxxxxx {unused=xxxxxxx}}
    

    x=Zahlen
    Wobei in der funktionierenden Variante hinter unused nur ????? forhanden sind.
    Werde daraus nicht schlau!
    Eine Frage noch zum TRACE:
    benutze ich den so richtig?

    TRACE("%s\n",m_ctrlHtmlRichEdit);
    

    Die Membervariable m_ctrlHtmlRichEdit wird übrigens durch

    CHtmlRichEditCtrlSSL	m_ctrlHtmlRichEdit;
    

    deklariert.
    Sorry, das waren jetzt viele Fragen. Sind auch die letzten für heute. Schließe jetzt mein VC++ befor mir der Kopf explodiert 😞 .


Anmelden zum Antworten