我有一个CRichEditCtrl的编辑控件,怎么样才能得到当前编辑光标所在的行号和列号??

解决方案 »

  1.   

    CPoint VarCharPoint;         //指定字符的位置
    CPoint CurrPoint;            //当前光标位置
    int LineFirstIndex;          //当前行首字符位置
             int Length;                  //当前行长度         int CurrentCharIndex;        //当前编辑光标所在字符序号。
             int CurrentLine;             //当前编辑光标所在的行号
             int CurrentRow;              //当前编辑光标所在的列号 CurrPoint = GetCaretPos();        //获取光标位置
    LineFirstIndex = LineIndex(-1);   //获取当前行首字符位置
        Length = LineLength(-1);          //获取当前行长度. for (int i = 0; i < Length; i++)
    {
    VarCharPoint = GetCharPos( LineFirstIndex );
    if (VarCharPoint.x >= CurrPoint.x)
    {
    CurrentCharIndex = LineFirstIndex;
    break;
    }
    LineFirstIndex++;
    }         CurrentRow = i; //列号
             CurrentLine = LineFromChar( CurrentCharIndex ); //行号