In CRichEditView die Schriftart einstellen?



  • Ich schreibe gerade an einem Programm dessen Ansicht von CRichEditView erbt.
    Das funktioniert auch alles ganz gut bis auf die Schriftarten. Ich habe gelesen das man in CRichEditView verschiedene Schriften und Farben benutzen kann.

    Auch die suche mit google hat nichts gebracht.
    Also hier meine Fragen.

    Wie kann ich in einem CRichEditView die Schrift einstellen damit die folgenden Worte die getippt werden in dieser Schrift dann erscheinen.
    Wie kann ich bei dem Text den ich mit der Maus ausgewählt habe die Schriftart ändern.

    Genauso möchte ich die Schriftgröße und die Schriftfarbe ändern.

    hal_ibm





  • Tag LowFly. Ist nicht ganz das was ich suche.
    Hier geht es hauptsächlich um CRichEditCtrl und Tool-Tips.
    Trotzdem Danke. Mal sehen ob ich daraus was verwenden kann?

    Ich suche eigentlich ein Beispiel bei dem ein CRichEditView benutzt wird.

    hal_ibm



  • Nachdem du ne View benutzt nem ich mal an das du ein MID oder SDI project hast. der unterschied zwischen CRitchEditCtrl & CRitchEditView besteht glaube ich nur darin das du bei CRitchEditView eben nicht wie bei CRitchEditCtrl über eine Variable an die Funktionen gelangst um in das CRitchEdit zu schreiben sondern du kannst sie direckt in der classe die von CRitchEditView abgeleitet ist die funktionen ansprechen.



  • so kannst du zB unterstrichen einstellen

    void CXXXView::OnUnderline()
    {
    	CHARFORMAT2 cf;
        cf = GetCharFormatSelection ();
    
        if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
            cf.dwEffects = CFE_UNDERLINE;
        else
            cf.dwEffects = 0;
    
        cf.dwMask = CFM_UNDERLINE;
        SetCharFormat (cf);
    }
    

    und mit CRichEditView::GetRichEditCtrl() bekommst du eine Referenz auf ein CRichEditCtrl welches hinter dem CRichEditView sich verbirgt.

    Gruß Matthias



  • Hallo CTecS das funktioniert ja super mit dem Underline.
    Ich habe damit experimentier und kann die Schrift nun auch auf kursiv setzen und so.

    Leider finde ich in der verflixte MSDN nichts wie man die Schriftart einstellt.

    Es müsste doch so was geben wie „SetCharFontType“ oder so, aber nichts zu machen ich kann leider nichts finden.

    Ich habe mit „CreateFont“ experimentiert aber da male ich dann die Buchstaben in meine Ansicht. Dann kann ich sie nicht mehr mit der Maus auswählen oder den Cursor in den Text setzen und neuen Text Tippen.

    Trotzdem erst einmal vielen Dank. Bin wieder ein Stück weiter gekommen.

    hal_ibm



  • Ich hab dir doch alles vorgelegt was du wissen mußt, du solltest dir mal die Struktur CHARFORMAT2 anschauen da kannst du auch den Font sammt größe einstellen

    Gruß Matthias



  • Hallo CTecS.

    CHARFORMAT2 cf;
    Hier Fehler cf = GetCharFormatSelection ();

    Funktioniert bei mir nicht. Ich bekomme folgende Fehlermeldung

    error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'struct _charformat' akzeptiert (oder keine geeignete Konvertierung moeglich)
    Fehler beim Ausführen von cl.exe.

    Ich musste CHARFORMAT cf benutzen damit es funktioniert und bei CHARFORMAT finde ich nichts mit Schriftarten und Größe.

    hal_ibm



  • Hallo CTecS.
    Ich habe es mit CHARFORMAT hinbekommen.
    Habe im Internet ein Beispiel gefunden und jetzt funktioniert es so wie ich will.

    Danke für den Tipp mit CHARFORMAT.

    hal_ibm


Anmelden zum Antworten