qq_37815205
^_^ TY
2019-04-27 14:19
采纳率: 25%
浏览 319

scintilla处理缩进问题

scintilla嵌入MFC中,编写一个代码编辑器,现在要求没有括号和大括号,根据行首关键字是否为if、else、while来判断缩进。

现在已得到当前行(行首为if关键字)缩进量,计算出下一行缩进量,设置缩进量以后应该要将插入符放到行缩进的后面,怎么处理呢?

代码如下:

if ((0 == strArray.GetAt(0).Compare(_T("if"))) || (0 == strArray.GetAt(0).Compare(_T("else")) || (0 == strArray.GetAt(0).Compare(_T("while")))))
            {
                nNextIndent = nIndent + 2;//计算下一行缩进量
            }
            else
            {
                nNextIndent = nIndent;//计算下一行缩进量
            }
            m_wndScintilla.SendMessage(SCI_SETLINEINDENTATION, nLine + 1, nNextIndent);//设置下一行缩进
            int nPos2 = m_wndScintilla.SendMessage(SCI_GETLINEINDENTPOSITION, nLine + 1, 0);//下一行缩进结束位置

            //TODO:设置光标位置在下一行缩进结束位置
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

相关推荐