CRichEdit GetSel引起的问题
程序需要搜索指定字符串并调整到该位置,在试验中出现一个问题,如下:
执行代码为:
void CNovelReaderView::OnTextpos()
{
// TODO: 在此添加命令处理程序代码
long nStartChar, nEndChar;
GetRichEditCtrl().GetSel(nStartChar, nEndChar);
CString msg;
msg.Format("选中位置起始%d字节,结束%d字节",nStartChar,nEndChar);
AfxMessageBox(msg);
}
测试字符串为:"abc你好吗?"
选中后为"abc你好吗?"
在VS2010中执行结果为:起始3字节,结束5字节;(使用UNICODE编码)
在VC6.0中执行结果为: 起始3字节,结束7字节
疑问:(1)GetSel返回值是基于0的字符个数还是字节个数?
(2)为什么文字理论上的字节数通过GetSel获取的值不同? 函数功能怎么实现?