如何让窗口和里面的控件都支持文件拖放功能?【已解决】
如何让窗口和里面的控件都支持文件拖放功能? 找了好久一直没有找到方法能真正实现,请高手指教一下,毕竟是很常用也是很实用的功能。比如在下
面的例子中, 把文件拖到窗口就“当”的一声晌,原因究竟出在哪里呢?
#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 编辑 ] 似乎应该是setstyle吧 楼上的能说详细点吗? $WS_EX_ACCEPTFILES , 0x00000010 ,允许(用户)通过拖放让被创建的GUI窗口中的编辑框/输入控件接受文件名.该控件也必须具有 $GUI_ACCEPTFILES 状态(由 GUICtrlSetState 设置).
Edit 或 Input 才可以具有拖放功能,在窗口具有$WS_EX_ACCEPTFILES样式后,在控件后加上这句:
GUICtrlSetState(-1, $GUI_ACCEPTFILES) 谢谢楼上的回答!! 目前只能拖放到编辑框才生效,只是拖到窗体上也不行,会“当”一声响!还请高手指点。 需要DLLCALL的, 去autoitscript找吧 http://www.autoitx.com/forum.php?mod=viewthread&tid=1191&page=1#pid11267
如何让GUICtrlCreateCombo 控件支持拖放操作? 目前只能拖放到编辑框才生效,只是拖到窗体上也不行,会“当”一声响!还请高手指点。
ollydbg 发表于 2008-6-5 20:50 http://www.autoitx.com/images/common/back.gif
自己加个声音不就行了
SoundPlay(@WindowsDir
&
"\media\tada.wav",1) :face (21): hai 没找到我想要的答案 回复 4# 漠北雪~狼
狼兄.我按你这种方法 .可以实现拖放.我在主窗口用一个按钮实现调用子窗口后.我关闭子窗口然而.这时候的主窗口 就会没反应 拖放效果没了.这是怎么回事~?
页:
[1]