PARAFORMAT2 pf;
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_LINESPACING;
pf.dyLineSpacing=150;
pf.bLineSpacingRule = 4;
VERIFY(m_MyRichEditCtrl.SetParaFormat(pf));
我这样设置怎么行距没有变化呀,无论怎么改数字行距都不变,有没有高手帮忙指点一下啊

解决方案 »

  1.   

    PARAFORMAT2 pf;
    ZeroMemory(&pf,sizeof(PARAFORMAT2));
    pf.dwMask |= PFM_LINESPACING | PFM_OFFSET |PFM_STARTINDENT|PFM_RIGHTINDENT;
    pf.bLineSpacingRule = 3;
    pf.dyLineSpacing = 150; m_richEdit.SetSel(0, -1); //设置处理区域
    m_richEdit.SetParaFormat(pf);
      

  2.   

    是否忽略了 SetParaFormat 只对当前选定的字符起作用?
      

  3.   

    为什么不生效呢? 因为缺少 ZeroMemory(&pf,sizeof(PARAFORMAT2));
    使用部分数据成员时,要把所有内存清0,避免随机值的影响。