mfc CRichEdit findtext() 查找 中文字符串,在某些电脑上会有问题,始终返回-1

CRichEditCtrl&ctrl=GetRichEditCtrl();::LockWindowUpdate(ctrl);FINDTEXTEXft;//查找结构ft.c... CRichEditCtrl& ctrl = GetRichEditCtrl();
::LockWindowUpdate(ctrl);
FINDTEXTEX ft; //查找结构
ft.chrg.cpMin = 0;
ft.chrg.cpMax = -1;
ft.lpstrText = "中文";
long r = ctrl.FindTextA(FR_DOWN, &ft);

在某些电脑上可以正常找中文字符串,在某些电脑上找中文字符串会出问题,
r始终等于-1
我的编译环境是vs2010,
语言是C++,用的mfc类库
某些xp电脑上会查找不到,如何解决?
展开
 我来答
sunnyMiracle14
2014-02-27 · TA获得超过198个赞
知道小有建树答主
回答量:824
采纳率:0%
帮助的人:454万
展开全部
ctrl.setsel(0,-1);
追问
这个函数的功能不是选中所有么?
追答
FR_DOWN     如果指定了这个标志值,搜索操作从当前选定的 end 位置开始,直到控件中正文的 end 位置结束(向下搜索)。这个标志仅影响 RichEdit 2.0 和以后版本: 这个是 RichEdit 1.0 的缺省行为。RichEdit 2.0 或以后版本的缺省行为是在当前选定正文内的从结尾搜索到开始位置(向前搜索)。
概括来说就是,如果你使用 RichEdit 1.0, 无论你做什么都没法影响搜索的方向:它总使用向后搜索。但是如果你使用 RichEdit 2.0 而且你想使用向后搜索的话,你必须指定这个标志值,否则使用的是向前搜索了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式