找回密码
 加入
搜索
查看: 71429|回复: 5

[GUI管理] 拖动网页内容到编辑框的问题【已解决】

  [复制链接]
发表于 2013-9-9 00:48:17 | 显示全部楼层 |阅读模式
本帖最后由 gto250 于 2013-9-9 23:30 编辑

选择网页中的一段内容,拖曳到编辑框中。
au3的Input和EDIT都不能实现,RichEdit能实现,但是RichEdit不能控制获取的文字格式。
选择网页中的一段内容并复制的话,可以在剪贴板中获取到该段网页内容的html源码。
但是直接将该段内容拖到RichEdit中的话,剪贴板中的内容是空的。
我现在想要做的就是,在将网页中选择的内容拖到input或者edit或者RichEdit中的时候,获取到该段网页内容的html源码。
有谁能给个源码,或者告知网页中的内容拖曳到RichEdit中的时候,是怎么获取文字内容的!
发表于 2013-9-9 14:26:14 | 显示全部楼层
可以同步捕获onDragStart事件,写了个代码,关于如何响应拖拽事件还得楼主自行解决(示例中直接定时器代替),CF_HTML剪切板数据格式化也没搞太明白,还是得楼主自行解决, 哈哈
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#Include <Clipboard.au3>
#include <IE.au3>

Global $oIE = _IECreate("www.baidu.com")

$Form1 = GUICreate("", 300, 200, -1, -1, -1, $WS_EX_ACCEPTFILES)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 300, 200)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUISetState(@SW_SHOW)

WinSetOnTop($Form1, "", 1)

Local $sJS_GetText = "var oRange = document.selection.createRange(); var sText = oRange.text; window.clipboardData.setData('text', sText); "
_IEHeadInsertEventScript($oIE, "document", "ondragstart", $sJS_GetText)
Local $iFormat = $CF_UNICODETEXT

;Local $sJS_GetHtml = "var oRange = document.selection.createRange(); var sText = oRange.htmltext; window.clipboardData.setData('text', sText); "
;_IEHeadInsertEventScript($oIE, "document", "ondragstart", $sJS_GetHtml)
;Local $iFormat = _ClipBoard_RegisterFormat("HTML Format");CF_HTML

AdlibRegister("_setText", 500)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        _IEQuit($oIE)
                        Exit
        EndSwitch
WEnd

Func _setText()
        _ClipBoard_Open(0)
        GUICtrlSetData($Edit1, _ClipBoard_GetData($iFormat))
        _ClipBoard_Close()
EndFunc
 楼主| 发表于 2013-9-9 20:35:23 | 显示全部楼层
回复 2# komaau3


    谢谢兄弟的协助!
我现在在考虑的就是响应拖曳的事件
发表于 2013-9-9 23:22:12 | 显示全部楼层
这一块还是可以学习,不过我有点怀疑拖曳的文字是否准确的问题。
 楼主| 发表于 2013-9-9 23:29:37 | 显示全部楼层
已经解决,官网有个DragDropEvent
那个可以用!
修改一下就能获取网页源码
发表于 2014-8-16 07:36:48 | 显示全部楼层
学习了,,
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 16:16 , Processed in 0.075963 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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