void CpictureDlg::OnBnClickedButton7()
{
CString str;
CString str2;
CHARRANGE cr; //richedit 里的范围类型,用于选择或者定位
m_rich.SetSel(-1, -1); //跳到最后
m_rich.GetSel(cr); //得到选择的范围,如果没有选择文字,那所选的范围是0
int count = m_rich.GetLineCount(); //得到行数,包括特殊字符
int ns = m_rich.LineIndex(4); //包括特殊字符,某行第一个字
int kk = m_rich.LineLength(ns); //某个字符位置所在行的行字节数
int nse = m_rich.LineIndex(3) - 1; //变态得到某行行尾,最后一行会出问题
int ne = m_rich.GetTextLength(); //包括特殊字符
int ll = m_rich.LineFromChar(18); //某个字在第几行
m_rich.GetTextRange(ns,ns+kk,str); //取得某行文字,这个最好
m_rich.GetLine(4, str2.GetBufferSetLength(kk),kk); //如果某行零字节,本函数会出错
int Row = m_rich.SendMessage(EM_LINEFROMCHAR, cr.cpMin, 0);
int FirstCharInLine = m_rich.SendMessage(EM_LINEINDEX, Row, 0);
int Col = cr.cpMin - FirstCharInLine; //得到所在行的第几个字节
}
自己研究半天的心得,希望我的分享有所作用.