richedit 设置字符间距、行间距、段间距 在vs2010有效果 在vc6.0无效果 百思不得其解啊
void CMyRtfDlg::OnSpace()
{
int value;
CModifyCharacterSpacing dlg;
if(dlg.DoModal() == IDOK)
{
value = dlg.GetCharacterSpacingValue();
m_rtf.SetSpace(value*20);
}
}
void CMyRichEditCtrl::SetSpace(int space)
{
GetSelectionCharFormat(cf);
cf.dwMask = CFM_SPACING;
cf.sSpacing = space;
SetSelectionCharFormat ( cf );
}
---------------------------------------------------------------------------------------------
void CMyRtfDlg::OnLineSpace()
{
int value;
CDialogLineSpace dlg;
if(dlg.DoModal() == IDOK)
{
value = dlg.GetLineSpacingValue();
m_rtf.SetLineSpace(value*20);
}
}
void CMyRichEditCtrl::SetLineSpace(int space)
{
//注意:bLineSpacingRule取1到5,分别对应word中的单倍行距、1.5倍行距、2倍行距、最小值、固定值、多倍行距
//dyLineSpacing为具体的单位,等于word中磅的20倍,当bLineSpacingRule等于3、4、5时有效
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_LINESPACING;
pf.dyLineSpacing = space;
pf.bLineSpacingRule = 3;
SetParaFormat(pf);
}