CRichEditCtrl系列讲堂4 自己遇到的查找问题及解决方案
来源:互联网 发布:小角磨机淘宝网 编辑:程序博客网 时间:2024/06/10 07:38
UpdateData(TRUE);CString str; m_RichTex.GetWindowText(str);int len=strEdit.GetLength();long index=0,end_index=0; repText.Format("%d",len);strEdit.MakeLower();str.MakeLower(); if(m_down==IDC_DOWN){m_RichTex.GetSel(index,end_index);//向下查找index=str.Find(strEdit,end_index);if (index!=-1){m_RichTex.SetSel(index,index+len);m_RichTex.SetFocus();}else{index=str.Find(strEdit,0);if (index==-1){MessageBox("搜索的字符串未找到", " 提示", MB_OK);}m_RichTex.SetSel(index,index+len);m_RichTex.SetFocus();}}else{m_RichTex.GetSel(index,end_index);//向上查找CString strReverse=str.MakeReverse();CString strEditReverse=strEdit.MakeReverse();index=strReverse.Find(strEditReverse,str.GetLength()-index);if (index!=-1){end_index=str.GetLength()-index-1;}else{index=strReverse.Find(strEditReverse,0);if (index==-1){MessageBox("搜索的字符串未找到", " 提示", MB_OK);}end_index=str.GetLength()-index-1;}m_RichTex.SetSel(end_index+1-len,end_index+1);m_RichTex.SetFocus();} }
结果运行时查找结果和字符对应不上。经网上查资料得知将空间中的内容转化成字符串存在这编码的差异,还有可能和CRichEdit版本有关。综合各种原因我的解决办法就是回头去用Findtext.
相信会有很多和我一样的菜鸟会遇到相同问题,希望能给你带去光明。
- CRichEditCtrl系列讲堂4 自己遇到的查找问题及解决方案
- CRichEditCtrl系列讲堂3 关于版本和查找错位问题
- CRichEditCtrl系列讲堂2 查找功能的实现
- CRichEditCtrl系列讲堂8 解决CEdit/CRichEdit中SetSel错位或者位置判断错误的问题
- CRichEditCtrl系列讲堂5 常用函数应用
- CRichEditCtrl系列讲堂6 一些小技巧
- CRichEditCtrl系列讲堂1 VC中在对话框上使用Rich Edit控件相关问题
- CRichEditCtrl系列讲堂7 设置行间距源代码
- 自己的数据在caffe上训练识别遇到的问题及解决方案
- Axis1.4开发webService中遇到的问题及解决方案
- 安装petshop遇到的问题及解决方案
- 使用计算机遇到的问题及解决方案
- 3g模块遇到的问题及解决方案
- myeclipse 遇到的一些问题及解决方案
- WinCE初学遇到的问题及解决方案
- 用jquery遇到的问题及解决方案
- 遇到的问题及解决方案汇总
- andorid遇到的问题及解决方案
- FFT算法应用实例
- 在ArcGIS 10中使用python
- sqlite 取日期的方法:年,季度,月,当月第几周
- 配置eclipse环境
- hadoop hdfs总结 NameNode部分-- 概述
- CRichEditCtrl系列讲堂4 自己遇到的查找问题及解决方案
- 详细讲解Java中log4j的使用方法
- Getting Started: Failover Clusters on windows server 2008
- use strict 介绍
- C#开发自己的Web服务器
- Inventor 2014 API 新功能 (4) 创建方程草图曲线
- Sicily 1031 Campus
- 如何选择下载版本,简体中文 GBK 与UTF-8 的区别
- 排序算法