找回密码
 加入
搜索
查看: 4411|回复: 11

如何让窗口和里面的控件都支持文件拖放功能?【已解决】

[复制链接]
发表于 2008-5-10 11:43:18 | 显示全部楼层 |阅读模式
如何让窗口和里面的控件都支持文件拖放功能? 找了好久一直没有找到方法
能真正实现,请高手指教一下,毕竟是很常用也是很实用的功能。比如在下
面的例子中, 把文件拖到窗口就“当”的一声晌,原因究竟出在哪里呢?


#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$AForm1 = GUICreate("运行", 415, 114,  -1,  -1, -1, $WS_EX_ACCEPTFILES )
$Combo1 = GUICtrlCreateCombo("", 24, 40, 273, 25)
GUICtrlSetState ( $Combo1, $GUI_ACCEPTFILES )
GUICtrlSetState ( $Combo1, $GUI_DROPACCEPTED )
$Button1 = GUICtrlCreateButton("运行", 312, 40, 89, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

[ 本帖最后由 ollydbg 于 2008-5-16 10:19 编辑 ]
发表于 2008-5-10 13:40:47 | 显示全部楼层
似乎应该是setstyle吧
 楼主| 发表于 2008-5-10 22:17:27 | 显示全部楼层
楼上的能说详细点吗?
发表于 2008-5-11 11:22:39 | 显示全部楼层
$WS_EX_ACCEPTFILES , 0x00000010 ,  允许(用户)通过拖放让被创建的GUI窗口中的编辑框/输入控件接受文件名.该控件也必须具有 $GUI_ACCEPTFILES 状态(由 GUICtrlSetState 设置).  

Edit 或 Input 才可以具有拖放功能,在窗口具有$WS_EX_ACCEPTFILES样式后,在控件后加上这句:
GUICtrlSetState(-1, $GUI_ACCEPTFILES)
 楼主| 发表于 2008-5-16 10:19:11 | 显示全部楼层
谢谢楼上的回答!!
 楼主| 发表于 2008-6-5 20:50:40 | 显示全部楼层
目前只能拖放到编辑框才生效,只是拖到窗体上也不行,会“当”一声响!还请高手指点。
发表于 2008-6-5 21:34:07 | 显示全部楼层
需要DLLCALL的, 去autoitscript找吧
发表于 2009-5-30 18:28:13 | 显示全部楼层
http://www.autoitx.com/forum.php ... amp;page=1#pid11267
如何让GUICtrlCreateCombo 控件支持拖放操作?
发表于 2009-6-5 19:10:51 | 显示全部楼层
目前只能拖放到编辑框才生效,只是拖到窗体上也不行,会“当”一声响!还请高手指点。
ollydbg 发表于 2008-6-5 20:50


自己加个声音不就行了
SoundPlay(@WindowsDir
&
"\media\tada.wav",1)
发表于 2009-6-10 17:41:07 | 显示全部楼层

评分

参与人数 1金钱 -10 收起 理由
afan -10 警告,禁止纯表情!

查看全部评分

发表于 2010-3-6 20:08:27 | 显示全部楼层
hai 没找到我想要的答案
发表于 2012-3-25 17:12:31 | 显示全部楼层
回复 4# 漠北雪~狼


    狼兄.我按你这种方法 .可以实现拖放.我在主窗口用一个按钮实现调用子窗口后.我关闭子窗口然而.这时候的主窗口 就会没反应 拖放效果没了.这是怎么回事~?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-19 10:43 , Processed in 0.079801 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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