文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院工具软件加密破解RichEdit 控件:更多的正文操作
精品推荐
特别推荐
·DVD影片(区码)的保护与破解
·常用破解网络密码的方法多个
·攻破Windows系统加密保护之EFS解密
·巧用系统自带功能给文件夹加密
·加密文件看见“照妖镜”还不显原型
·破解入门教学(二)
·破解光盘加密:把DVD大片拷到硬盘上看
·远程主机探测技术FAQ集 - 扫描篇
·网络游戏封包基础
·轻松破解:打开丢失密码的笔记本
热点TOP10
·溯雪使用说明
·万能五笔2001注册码分析及暴力破解 上
·破解windowsXP,window2000的开机密码
·RichEdit 控件:更多的正文操作
·破解入门教学(二)
·五种windows密码设置及破解
·软件狗[Dongles]的加密与解密技术
·破解程序及注册机使用方法
·兰陵邮件快递(LLbulkmailer V1.1)
·即时语音提示 & 校对软件InsTalk注册码及注册机 上

RichEdit 控件:更多的正文操作

日期:2008年5月28日 作者: 查看:[大字体 中字体 小字体]


这个变量被用来保存跟 EM_FINDTEXTEX 一起使用的搜索标志。
之后,通过 EM_EXGETSEL ,我们得到当前选定的正文,
因为我们需要知道搜索操作的开始位置。

	invoke IsDlgButtonChecked,hWnd,IDC_DOWN		.if eax==BST_CHECKED			or uFlags,FR_DOWN			mov eax,findtext.chrg.cpMin			.if eax!=findtext.chrg.cpMax				push findtext.chrg.cpMax				pop findtext.chrg.cpMin			.endif			mov findtext.chrg.cpMax,-1		.else			mov findtext.chrg.cpMax,0		.endif

下一步就有一点精巧了。我们检查搜索方向Radio按钮来得到要按什么方向进行搜索。
如果是向下搜索,我们设置 uFlags 为FR_DOWN 标志值。然后我们比较 cpMin 和 cpMax,
检查是否要在选定的正文里搜索。如果两者的值不相等,说明有当前选定正文,
我们需要从选定正文的结尾开始搜索,到控件中的正文的结尾结束。
从而我们需要替换 cpMax 的值为 cpMin ,并改变 cpMax 的值为 -1 (0FFFFFFFFh)。
如果没有当前选定正文,搜索的范围是从当前插入点(光标)到所有正文的结尾。

如果用户选择了向前搜索,我们使用的范围是从选定正文的开始到控件中正文的开始处。
这个就是我们只改变 cpMax 的值为 0 原因。在使用向前搜索的情况下,
cpMin 包含搜索范围中最后一个字符的的字符索引。
而cpMax 则是搜索范围中第一个字符的字符索引。向后搜索则刚刚相反。

		invoke IsDlgButtonChecked,hWnd,IDC_MATCHCASE		.if eax==BST_CHECKED			or uFlags,FR_MATCHCASE		.endif		invoke IsDlgButtonChecked,hWnd,IDC_WHOLEWORD		.if eax==BST_CHECKED			or uFlags,FR_WHOLEWORD		.endif		mov findtext.lpstrText,offset FindBuffer

我们继续检查搜索标志的检查框,也就是 FR_MATCHCASE and FR_WHOLEWORD。
最后,我们把要搜索的正文串的偏移量放入 lpstrText 成员中。

		invoke SendMessage,hwndRichEdit,EM_FINDTEXTEX,uFlags,addr findtext		.if eax!=-1			invoke SendMessage,hwndRichEdit,
EM_EXSETSEL,0,addr findtext.chrgText .endif .endif

现在我们已经准备好发送 EM_FINDTEXTEX 消息了。之后,
我们检查通过 SendMessage 返回的搜索结果。如果返回 -1,
表示没有找到匹配的正文串。否则,FINDTEXTEX 结构的 chrgText
成员里会被填入匹配正文串的字符索引。
因此我们继续使用 EM_EXSETSEL 消息来选定该正文串。

替换操作也是以差不多的方式来完成。

	invoke GetDlgItemTe
xt,hWnd,IDC_FINDEDIT,addr FindBuffer,sizeof FindBuffer invoke GetDlgItemText,hWnd,IDC_REPLACEED
IT,addr ReplaceBuffer,sizeof ReplaceBuffer

我们先找到要搜索的正文串和用来替换的正文串。

	mov findtext.chrg.cpMin,0	mov findtext.chrg.cpMax,-1	mov findtext.lpstrText,offset FindBuffer

为容易起见,替换操作在整个控件的所有正文中进行。因此开始索引为 0 ,结束索引为 -1。

	mov settext.flags,ST_SELECTION	mov settext.codepage,CP_ACP

我们初始化 SETTEXTEX 结构来表明我们想替换当前选定的文本和使用系统缺省的代码页。

	.while TRUE		invoke SendMessage,hwndRichEdit,
EM_FINDTEXTEX,FR_DOWN,addr findtext .if eax==-1 .break .else invoke SendMessage,hwndRichEd
it,EM_EXSETSEL,0,addr findtext.chrgText invoke SendMessage,hwndRichEd
it,EM_SETTEXTEX,addr settext,addr ReplaceBuffer .endif .endw

我们进入无限循环,来搜索匹配的正文。如果找到一个,
我们就通过EM_EXSETSEL 来选定它,并通过EM_SETTEXTEX 替换它。
当没找到其他匹配串时,我们就退出循环体。

Find Next 和 Find Prev. 以跟Find操作相似方式使用 EM_FINDTEXTEX 消息实现的功能。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 




上一篇:破解 女性基础体温管理软件 v1.2

下一篇:DFCG破解入门第二课

相关文章:
·操作电脑最忌的十八个小动作
·《人工少女2》操作指南 - 游戏手册
·新手入门:操作系统重装完全攻略
·快马加鞭 20秒进入Win XP操作系统
·关于提高操作系统重装
·EXCEL快速操作技巧
·初次性交的操作指南
·打造N合1操作系统安装光盘
·RichEdit 控件:更多的正文操作
·如何卸载WindowsXP操作系统
相关软件:
·电脑上网实用操作教程
·最新GoogleEarth 可以看清世界更多的地方
·中文版Fireworks MX实例与操作
·《苍天》偃月刀操作方法介绍视频
·AutoCAD制图软件问题解答及操作指导
·提单操作手册
·装饰美工技能操作考核比重表
·AGFA COMP ACT PLUS CR 简明操作手册
·2000年下半年网络操作系统(全国卷)
·CSDN操作系统版块常见问题列表

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot