如何实现在richedit中确定鼠标的当前行数和列数
1个回答
展开全部
得到编辑框控件中指定坐标所在的行列位置,下面假设坐标为CPoint(100,13),CRichEditCtrl控件也一样:
-----------------------------------------------------
CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
CString str;
int nLineIndex =HIWORD(pEdit->CharFromPos(CPoint(100,13)));
int nCharIndex = LOWORD(pEdit->CharFromPos(CPoint(100,13)));
str.Format("现在第%d行,第%d列。",nLineIndex+1,nCharIndex-pEdit->LineIndex(nLineIndex));
AfxMessageBox(str);
-----------------------------------------------------
要实现你的要求,就要把类似的代码写在WM_MOUSEMOVE消息中,并且还要对上下文进行单词匹配检查。
-----------------------------------------------------
CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
CString str;
int nLineIndex =HIWORD(pEdit->CharFromPos(CPoint(100,13)));
int nCharIndex = LOWORD(pEdit->CharFromPos(CPoint(100,13)));
str.Format("现在第%d行,第%d列。",nLineIndex+1,nCharIndex-pEdit->LineIndex(nLineIndex));
AfxMessageBox(str);
-----------------------------------------------------
要实现你的要求,就要把类似的代码写在WM_MOUSEMOVE消息中,并且还要对上下文进行单词匹配检查。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询