点击一个cedit,如何得到光标的位置在第几个字符的前面 谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用GetCaretPos()得到位置再用CharFromPos( CPoint pt ) const得到第几个字符。例如有一控件CEdit m_Edit;方法是:CPoint pt = m_Edit.GetCaretPos();int nIndex = CharFromPos(pt);nIndex就是你要的第几个字符。 int nStartChar, nEndChar; m_edit1.GetSel(nStartChar, nEndChar); if(nStartChar == nEndChar) { //nStartChar或者nEndChar就是光标位置 } else { //选中了从nStartChar到nEndChar的字符 } // 如何在CEditView中得到当前光标所在的行数和列数? int st, end; CEdit &edit = GetEditCtrl(); edit.GetSel(st, end); int linechar; int row = 1; while(true) { linechar = edit.LineIndex(row); if(linechar > st || linechar == -1) break; row++; } linechar = edit.LineIndex(row-1); int col = st - linechar; the thread xxx has exited with code 1(0x1) 请教下一种汇编代码的C++实现方式 哪有WSAASYNSELECT 源码例子? 高手救命呀,模仿捕获窗口出现问题,拉兄弟一把吧!!! 求助:vc编写的程序报内存错误,求助高手如何分析? 如何才能去掉string 左边的空格??? 求计算机专业的硕士研究生学位的教学课程计划,详细一点的 我想自学 谢谢 动态显示一个窗口中的按钮难道很难吗? 求助,帮忙看看这个VC是怎么回事? 在Win9x/NT下如何用VC控制PC Speaker 老婆要生孩子&&▲▲▲,散分保平安 推荐基本SDK的书吧
再用CharFromPos( CPoint pt ) const得到第几个字符。
例如有一控件CEdit m_Edit;
方法是:
CPoint pt = m_Edit.GetCaretPos();
int nIndex = CharFromPos(pt);nIndex就是你要的第几个字符。
if(nStartChar == nEndChar)
{
//nStartChar或者nEndChar就是光标位置
}
else
{
//选中了从nStartChar到nEndChar的字符
}
int st, end;
CEdit &edit = GetEditCtrl();
edit.GetSel(st, end);
int linechar;
int row = 1;
while(true)
{
linechar = edit.LineIndex(row);
if(linechar > st || linechar == -1) break;
row++;
}
linechar = edit.LineIndex(row-1);
int col = st - linechar;