请问如何在edit中实现查找功能 比如EDIT中有大量字符的时候,我想查找其中是否有str字符串,如果有的话将其着色,就像word中的字符查找功能,请问能实现吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以实现!只是MFC的控件不能满足,得自己重绘.... 建议使用CRichEditCtrl,在找到后可以使用SetSel( beginpos, endpos );着色使用类似下面代码:CHARFORMAT2 cf2; ZeroMemory( &cf2, sizeof(CHARFORMAT2) ); cf2.cbSize = sizeof(CHARFORMAT2); cf2.dwMask = CFM_COLOR; cf2.crTextColor= 你需要突出的颜色;richedit.SendMessage( EM_SETCHARFORMAT, SCF_WORD | SCF_SELECTION, (LPARAM)&cf2 ); CEdit的话,可能会麻烦一些,CRichEditCtrl会简单很多CRichEditCtrl::FindText() 程序运行时中断 VS2005中如何添加对MM_WIM_OPEN消息的响应 我的为什么无法锁定静态切分的窗口呢? mfc下的多文档切换怎么样做成excel下面的那样tab形式? 关于替换msgina.dll,并实现重启的功能,急!急!急!在线等! MDI中如何显示已有的子窗体 窗口函数的用法 一个感兴趣的难题!! 请问结构体指针如何判断和赋值 Windows的右下角显示时间的接口是什么,我想把它换成图形显示, 哪位WinAPI高手教我,谢谢! 关于打印预览的问题 请教:用CSplitterWnd分割后如何不显示滚动条
着色使用类似下面代码:
CHARFORMAT2 cf2;
ZeroMemory( &cf2, sizeof(CHARFORMAT2) );
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = CFM_COLOR;
cf2.crTextColor= 你需要突出的颜色;richedit.SendMessage( EM_SETCHARFORMAT, SCF_WORD | SCF_SELECTION, (LPARAM)&cf2 );