CRichtEdit Textformatierungen zuweisen?



  • hallo

    ich habe schon im forum gesucht aber nix gefunden.

    ich habe auf meiner form ein RichEdit element eingefügt.

    variablen habe ich auch zugewiesen.

    beim punkt textformatierungen scheitere ich seit stunden.

    ich will einen einzufügenden text z.b. fett machen
    und habe gesehen das ich dei kklasse CFont nehmen muss.

    aber beim aufruf von
    CFont test;
    test->CreateFont(...);

    bekomme ich nur programmabstürze.

    was muss ich machen?
    PS: habe auch alle parameter erfüllt und ausgefüllt.

    habe schon probiert nicht benötigte parameter mit 0 und NULL auszufüllen
    immer wieder fehlschlag.

    Danke im voraus für eure hilfe



  • CFont ist hier ganz falsch.

    Schau mal nach CRichEditCtrl::SetSelectionCharFormat.



  • Schau Dir das mal an:
    Hab ich auch hier aus dem Forum, ich weiß aber nich mehr, wo das war und von wem 🤡

    void CSockDlg::AddString(CString strToAdd, COLORREF &crNewColor, bool bBold) 
    { 
        int iTotalTextLength = m_ctrlMessages.GetWindowTextLength(); 
        m_ctrlMessages.SetSel(iTotalTextLength, iTotalTextLength); 
        m_ctrlMessages.ReplaceSel(strToAdd); 
        int iStartPos = iTotalTextLength; 
    
        CHARFORMAT cf; 
        cf.cbSize        = sizeof(CHARFORMAT); 
        cf.dwMask        = CFM_COLOR | CFM_UNDERLINE | CFM_BOLD; 
        cf.dwEffects    =(unsigned long) ~( CFE_AUTOCOLOR | CFE_UNDERLINE | CFE_BOLD); 
        if(bBold) 
            cf.dwEffects|=CFE_BOLD; 
        cf.crTextColor    = crNewColor; 
        int iEndPos = m_ctrlMessages.GetWindowTextLength(); 
        m_ctrlMessages.SetSel(iStartPos, iEndPos); 
        m_ctrlMessages.SetSelectionCharFormat(cf); 
        m_ctrlMessages.HideSelection(TRUE, FALSE);     
    
    }
    


  • danke danke überglücklich

    ich werds mal probieren


Anmelden zum Antworten