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時文字出現不想要的藍色背景的解決方法)