duilib : write text on richedit

below code from duiilib''s qqDemo


void CxxDlg::WriteContent()
{
    std::wstring    strMsg = L"";

    CHARFORMAT2 cfTitle;
    CHARFORMAT2 cfText;

    ZeroMemory(&cfTitle, sizeof(CHARFORMAT));
    cfTitle.cbSize = sizeof(CHARFORMAT);
    cfTitle.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |CFM_SIZE;
    cfTitle.dwEffects = 1;
    cfTitle.yHeight = 16*16;//文字高度
    cfTitle.crTextColor = RGB(128, 128, 128); //文字颜色
    _tcscpy(cfTitle.szFaceName, L"微软雅黑");//设置字体

    ZeroMemory(&cfText, sizeof(CHARFORMAT));
    cfText.cbSize = sizeof(CHARFORMAT);
    cfText.dwMask = CFM_COLOR | CFM_FACE |CFM_SIZE;
    cfText.dwEffects = 1;
    cfText.yHeight = 14*14;//文字高度
    cfText.crTextColor = RGB(128, 128, 128); //文字颜色
    _tcscpy(cfText.szFaceName, L"微软雅黑");//设置字体

    m_pRichEdit->SetFocus();

    m_pRichEdit->SetSelectionCharFormat(cfTitle);
    strMsg = ns_base::StringFormatV(L"当前版本: %s\r\n", m_strVersionCur.c_str());
    m_pRichEdit->SetSel(-1, -1);
    m_pRichEdit->ReplaceSel(strMsg.c_str(), false);

    m_pRichEdit->SetSelectionCharFormat(cfTitle);
    strMsg = ns_base::StringFormatV(L"新版本: %s\r\n", m_strVersionNew.c_str());
    m_pRichEdit->SetSel(-1, -1);
    m_pRichEdit->ReplaceSel(strMsg.c_str(), false);

    m_pRichEdit->SetSelectionCharFormat(cfTitle);
    m_pRichEdit->SetSel(-1, -1);
    m_pRichEdit->ReplaceSel(L"最后一次的升级内容:\r\n", false);

    m_pRichEdit->SetSelectionCharFormat(cfText);
    m_pRichEdit->SetSel(-1, -1);
    m_pRichEdit->ReplaceSel(m_strContentUpdate.c_str(), false);

    m_pRichEdit->EnableScrollBar(true, false);
}

Effect:

    每次附加一段文字, 都必须要顺序执行 SetSelectionCharFormat, SetSel, ReplaceSel
    即使要附加的文字格式都相同, 否则字体就变成了默认的格式.
    m_pRichEdit->SetSelectionCharFormat(cfText);
    m_pRichEdit->SetSel(-1, -1);
    m_pRichEdit->ReplaceSel(m_strContentUpdate.c_str(), false);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值