Richedit控件字符格式及字體顏色的實現

1、Richedit中控制字符的格式:

       通過調用 CFont類來實現,在.h文件中添加CFont  m_font;再在.cpp文件中添加如下代碼:

    m_font.CreateFont(12,0,0,0,FW_DONTCARE,FALSE,FALSE,0, 1,
    OUT_DEFAULT_PRECIS, 
    CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY, 
    DEFAULT_PITCH|FF_SWISS,
    _T("黑體"));
  GetDlgItem(IDC_RICHEDIT21)->SetFont(&m_font);


2、控制其中的某一行爲藍色:

    CRichEditCtrl* m_cRichEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT21);//獲取該控件的指針
    m_cRichEdit->SetWindowText(tmp4.MakeUpper());//設定要顯示的內容

    int lineStart, lineEnd;
    CHARFORMAT cFmt;
    cFmt.cbSize = sizeof(CHARFORMAT);
    cFmt.crTextColor = RGB(0,0,255);
    cFmt.dwEffects = 0;
    cFmt.dwMask = CFM_COLOR;

    lineStart = m_cRichEdit->LineIndex(0);//取第一行的第一個字符的索引
    lineEnd = m_cRichEdit->LineIndex(1)-1;//取第一行的最後一個字符的索引——用第二行的第一個索引減1來實現
    m_cRichEdit->SetSel(lineStart,lineEnd);//選取第一行字符
    m_cRichEdit->SetSelectionCharFormat(cFmt);//設置顏色


3、對於你需要一按鍵下創建兩個對話框的情況,爲了避免在再生成對話框中有richedit中出現我們不需要的藍色背景(只出現在有文字的地方),我們可以改變這兩個對話框的生成順序即可。(2014.12.6,調試richedit時文字出現不想要的藍色背景的解決方法)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章