找回密码
 加入
搜索
查看: 11027|回复: 18

[系统综合] 求教:如何鼠标选中一段字的代码和思路?

  [复制链接]
发表于 2010-1-21 17:31:20 | 显示全部楼层 |阅读模式
本帖最后由 316428696 于 2010-2-6 23:59 编辑

我想实现这样的功能,不知道有没有这样的函数,帮助查过几遍了,没查到。

实现的功能,就是,我有一行字,然后拖放选择了其中的几个字,我想知道怎么取到这几个字?

例如:


我想取到,鼠标选中的 “我有” 到 “几个字”,这几个字,就是获取鼠标选中的,即,蓝色区域。

敢问高手如何解决,给个思路也行,我自己会转换成代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-1-21 17:44:05 | 显示全部楼层
Ctrl - C
发表于 2010-1-21 17:49:44 | 显示全部楼层
呵呵!这个估计还是要看你的文本放在什么控件内吧!
发表于 2010-1-21 17:58:22 | 显示全部楼层
Ctrl - C
afan 发表于 2010-1-21 17:44



    ctrl+c  clipget....
发表于 2010-1-21 19:42:01 | 显示全部楼层
楼主能否说的更清楚一点?
如果是EDIT控件,可以这样
#include <GuiEdit.au3>

$a='实现的功能,就是,我有一行字,然后拖放选择了其中的几个字,我想知道怎么取到这几个字?'
run("notepad.exe")
WinWaitActive("无标题 - 记事本")
ControlSetText("无标题 - 记事本","","Edit1",$a)
$handle=ControlGetHandle("无标题 - 记事本" ,"","Edit1")
_GUICtrlEdit_SetSel($handle, 18, 56)
发表于 2010-1-21 21:39:57 | 显示全部楼层
send("{Shift down} {right 19} {Shift up}")
发表于 2010-1-21 23:07:23 | 显示全部楼层
真无聊,帮助文件是做什么用的,建议thesnoW和netegg不要再做汉化工作了。
 楼主| 发表于 2010-1-21 23:25:26 | 显示全部楼层
真无聊,帮助文件是做什么用的,建议thesnoW和netegg不要再做汉化工作了。
pusofalse 发表于 2010-1-21 23:07


呵呵,这样的功能看似容易,并非你讲的那么简单!这不是无聊!
 楼主| 发表于 2010-1-21 23:27:00 | 显示全部楼层
回复 6# maxkingmax

谢谢你们给的思路,但是Ctrl + C 这样操作不是那么简单!这涉及到文字识别!
 楼主| 发表于 2010-1-21 23:28:19 | 显示全部楼层
楼主能否说的更清楚一点?
如果是EDIT控件,可以这样
#include

$a='实现的功能,就是,我有一行字,然 ...
pcbar 发表于 2010-1-21 19:42


不存在控件的问题,这段文字可以是在网页上,可以是在图片上!可以是在PDF中!
 楼主| 发表于 2010-1-21 23:29:54 | 显示全部楼层
呵呵!这个估计还是要看你的文本放在什么控件内吧!
水木子 发表于 2010-1-21 17:49

嗯,对!
主要是想获取鼠标拖动范围内的文字!Ctrl +C 是肯定不行的!
 楼主| 发表于 2010-1-21 23:35:06 | 显示全部楼层
Ctrl - C
afan 发表于 2010-1-21 17:44

如何判断选中文字结束呢?
如何判断选中的就是你要的这段文字呢?
发表于 2010-1-21 23:36:07 | 显示全部楼层
鼠标弹起……
发表于 2010-1-21 23:36:57 | 显示全部楼层
回复 8# 316428696


    这果真是简单至极。如果要选中指定的文字,用5#的方法。如果要获取选中的文字,用以下方法:
#include <GUIEdit.au3>
$hGUI = GUICreate("test", 400, 300)

$iEdit = GUICtrlCreateEdit("1234567", 10, 10, 380, 280)
$hEdit = GUICtrlGetHandle(-1)
GUISetState()
_GUICtrlEdit_SetSel($hEdit, 2, 4)

$aSel = _GUICtrlEdit_GetSel($hEdit)
$sData = GUICtrlRead($iEdit)
Msgbox(0, "", StringMid($sData, $aSel[0] + 1, $aSel[1] - $aSel[0]))

Do
Until GUIGetMsg() = -3
帮助文件中本就有这样的用法,所以还是无聊。
 楼主| 发表于 2010-1-21 23:39:58 | 显示全部楼层
回复 帮助文件中本就有这样的用法,所以还是无聊。
pusofalse 发表于 2010-1-21 23:36

如果是PDF呢?
如果是图片呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 07:22 , Processed in 0.085147 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表