我正准备实现这样的一个界面:怎么做一个界面显示信息(显示一个程序运行过程中的每个过程),不同的信息用不同的字体、颜色显示在同一个文本框内?比如成这样的效果

解决方案 »

  1.   

    用Rich Edit改变richedit指定区域的颜色及字体
            CHARFORMAT cf;
            ZeroMemory(&cf, sizeof(CHARFORMAT));
            cf.cbSize = sizeof(CHARFORMAT);
            cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
                                CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
            cf.dwEffects = 0;
            cf.yHeight = 12*12;//文字高度
            cf.crTextColor = RGB(200, 100, 255); //文字颜色
            strcpy(cf.szFaceName ,_T("隶书"));//设置字体
            m_richedit1.SetSel(1, 5); //设置处理区域
            m_richedit1.SetSelectionCharFormat(cf);
      

  2.   

    SelectObject不同的HFONT和指定不同文本颜色的CDC::SetTextColor()
      

  3.   

    你好,我做了一下测试,但是没有效果:
    代码:
    ZeroMemory(&cf, sizeof(CHARFORMAT));
    cf.cbSize = sizeof(CHARFORMAT);
    cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
    CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
    cf.dwEffects = 0;
    cf.yHeight = 120*12;//文字高度
    cf.crTextColor = RGB(0, 0, 255); //文字颜色
    strcpy(cf.szFaceName ,_T("隶书"));//设置字体
    m_richedit1.SetSel(1, 100); //设置处理区域
    m_richedit1.SetSelectionCharFormat(cf); 
    SetDlgItemText(IDC_RICHEDIT21,"你好");
    运行后的效果是:
      

  4.   

    百度ScriptEdit
    完整的代码,比你要的功能还强
    拜托多个点分,穷死了!