Office中国论坛/Access中国论坛

标题: 如何在代码中实现类似“查找替换”后高亮显示关键字的功能? [打印本页]

作者: 玉树TMD临风    时间: 2014-4-23 23:28
标题: 如何在代码中实现类似“查找替换”后高亮显示关键字的功能?
本帖最后由 玉树TMD临风 于 2014-4-23 23:33 编辑

连续窗体中有2个字段,点中某个字段后按CTL+F或者菜单中的“查找”,会弹出查找和替换对话框,如下图1



在对话框中输入关键字后查找,会找到对应的记录并高亮显示,如下图2



现在我在窗体中直接做了文本框和查找、下一个、上一个的控件,希望点查找时能找到第一条符合条件的记录,并高亮显示,如下图4
注意:是控件中的关键字高亮,而不是仅仅把记录选定器选中


在点”下一个“时,查找下一条符合条件的记录,并将对应的字段中关键字高亮,如下图5:



以上功能我用recordset.find和selstart、sellengh倒是可以实现,但是代码很长,感觉思路可能不对,在考虑用遍历控件的方式,还没尝试。很想知道系统中”查找和替换“的原理是什么,哪位大神指点一下,这个问题困扰了我一下午都没完美搞定。

作者: 玉树TMD临风    时间: 2014-4-24 09:48
搞定了,思路是先查找记录,找到后判断问和答哪个控件有关键字,就让哪个控件获得焦点,再调用高亮自定义函数,取得screen.activecontrol.name进行操作




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3