将富文本编辑框设置为2.0,关联一个control变量m_textblock:
1 字体设置
富文本编辑框关于字体设置的成员函数:
BOOL CRichEditCtrl::SetSelectionCharFormat( CHARFORMAT& cf );
此成员函数用来设置这个CRichEditCtrl对象中的当前选择的文本的字符格式化属性。这个函数只改变由cf中的dwMask成员指定的属性。
参数: cf是 一个CHARFORMAT结构,包含了当前选择的字符格式化属性。
typedef struct _charformat { UINT cbSize; DWORD dwMask; DWORD dwEffects; LONG yHeight; LONG yOffset; COLORREF crTextColor; BYTE bCharSet; BYTE bPitchAndFamily; char szFaceName[LF_FACESIZE];} CHARFORMATA;
字体设置代码:
long nStart, nEnd;CString str;UpdateData();m_textblock.GetSel(nStart, nEnd);if(nStart == nEnd){m_textblock.SetSel(0, -1);}CHARFORMAT cf;ZeroMemory(&cf, sizeof(cf));m_textblock.GetSelectionCharFormat(cf);cf.dwMask|=CFM_COLOR;cf.crTextColor = RGB(0,0,255);//设置颜色cf.dwMask|=CFM_SIZE;cf.yHeight =230;//设置高度cf.dwMask|=CFM_FACE;strcpy(cf.szFaceName ,_T("宋体"));//设置字体m_textblock.SetSelectionCharFormat(cf);
2 段落缩进
富文本编辑框关于段落设置的成员函数:
BOOL CRichEditCtrl::SetParaFormat( PARAFORMAT& pf );
此成员函数用来为CRichEditCtrl对象中的当前选择设置段落格式化属性。这个函数只改变pf中dwMask成员指定的属性。
参数: pf 一个包含新的缺省段落格式化属性的PARAFORMAT结构。
typedef struct _paraformat2 { UINT cbSize; DWORD dwMask; WORD wNumbering; union { WORD wReserved; WORD wEffects; }; LONG dxStartIndent; LONG dxRightIndent; LONG dxOffset; WORD wAlignment; SHORT cTabCount; LONG rgxTabs[MAX_TAB_STOPS]; LONG dySpaceBefore; LONG dySpaceAfter; LONG dyLineSpacing; SHORT sStyle; BYTE bLineSpacingRule; BYTE bOutlineLevel; WORD wShadingWeight; WORD wShadingStyle; WORD wNumberingStart; WORD wNumberingStyle; WORD wNumberingTab; WORD wBorderSpace; WORD wBorderWidth; WORD wBorders;} PARAFORMAT2;
段落设置代码:
long nStart, nEnd;CString str;UpdateData();m_textblock.GetSel(nStart, nEnd);if(nStart == nEnd){//str.Format(_T("光标在%d"), nStart);m_textblock.SetSel(0, -1);}PARAFORMAT2 pf;pf.cbSize = sizeof(PARAFORMAT2);pf.dwMask = PFM_OFFSETINDENT | PFM_OFFSET ;pf.dxStartIndent = 230*2; // 实际上是整体缩进pf.dxOffset = -230*2; // 段落首行以外的其他行的偏移/*反方向pf.dxStartIndent = -230*2;pf.dxOffset = -230*2;*/VERIFY(m_textblock.SetParaFormat(pf));
效果:
-End-