Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 源码示例

【Access小品】忽悠--文本框内文字移动示例

时 间:2012-07-13 10:36:52
作 者:煮江品茶   ID:10802  城市:武汉
摘 要:【Access小品】文本框内文字移动示例。
正 文:

  版友在水一方同志问是否可以实现文本框内文字的拖曳功能。一般情况下,这个功能没有太大的作用,原因在于可以通过右键的剪切粘贴功能来实现。这并不表示不能做出这样的拖曳效果来,实际上用文本框的鼠标按下、鼠标移动和鼠标释放三个事件,结合SelStart、SelLength和SelText三个属性是可以做出拖曳效果的。但是,注意这个但是。文本框内的拖曳需要通过事件的x参数来判断鼠标移动的方向、距离并与字符大小反复比对,运算效率很低,使得拖曳的效果不流畅。那么这个问题应该怎么解决最为得当呢?


  为了回答这个问题,我们需要对功能需求做一个分析。所谓文字的拖曳,实际上分为两个部分的功能,一个部分是将文字从一个位置移动到另一个位置,这个功能是需求的核心;第二个部分是一个视觉上的效果,也就是一个可视性的移动效果。也就是说放弃第二个功能,并不影响核心需求的实现。说到这里你可能觉得这个讨论已经没什么意义了,因为我们已经知道用右键是可以完成第一个功能的。


  其实不然!我们来看看一段文字移动时的动作:1、选中,2、右击,4、左击快捷菜单中的剪切,5左击新位置,6、右击,7、左击快捷菜单中的粘贴。从选中文字开始到移动到一个新的位置,需要有7个动作。这一系列动作你已经习惯,可能你没有意识到存在一个效率不高的问题,但这个问题确实存在。


  通过以上的分析,我们得出解决问题的总体思路来:文本框内的文字移动,我们放弃拖曳的视觉效果,而需要实现比右击方式更为高效的移动功能。于是乎,围绕这个总体的思路,我们就可以找到多种解决方案。比如说用SendKeys方法或者用SelStart、SelLength和SelText属性等,都可以实现需要的功能。


  说到这里,大部分版友可能都被忽悠住了,或许有几位头脑还比较清醒的同志会捂嘴偷笑道:老汉怎么不说Ctrl+X和Ctrl+V的问题呀。我的解释是,在移动一段文字的时候,你的左手需要用来吸烟或者端茶,呵呵。

示   例:

点击下载此附件


演   示:



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助