【Access小品】忽悠--文本框内文字移动示例-煮江品茶
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 源码示例


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

发表时间:2012/7/13 10:36:52 评论(5) 浏览(7373)  评论 | 加入收藏 | 复制
   
摘 要:【Access小品】文本框内文字移动示例。
正 文:

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


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


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


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


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

示   例:

点击下载此附件


演   示:


Access软件网交流QQ群(群号:198465573)
 
 相关文章
怎样在表中插入、删除和移动字段  【UMVsoft整理  2007/12/24】
access开发平台--移动文件夹后出现“鼠标移动”错误的解决方法...  【红尘如烟  2011/5/31】
犯了【专业版平台】的忽悠错误  【零智  2012/3/19】
【access入门】控件提示文本\鼠标移动到控件提示信息的示例  【麥田  2012/4/3】
在窗体内以拖拽方式移动控件  【在水一方  2012/4/13】
移动无边框窗体代码  【风行  2012/6/9】
鼠标变成手指,光标移动到控件变成手型的示例  【Access软件网  2012/8/29】
常见问答
技术分类
相关资源
文章搜索
关于作者

煮江品茶

文章分类

文章存档

友情链接