fankcer 发表于 2011-10-18 12:56:43

(已解决)如何实现多个文件拖曳后生成数组?

本帖最后由 fankcer 于 2011-10-20 09:39 编辑

请问如何实现将多个文件拖曳至 $Group1 控件后,生成文件列表数组?
我只会用 GUICtrlCreateEdit 生成的控件接收多个拖曳文件,但是我不需要把文件列表现示出来,换成其他控件好像又没有这种功能。
以下是个简单的例子,麻烦帮看看,谢谢#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 570, 145, 401, 321)
$Group1 = GUICtrlCreateGroup("请将待处理文件拖放至此", 12, 24, 541, 81)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Label1 = GUICtrlCreateLabel("正在处理的文件:", 24, 60, 516, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $GUI_EVENT_DROPPED
                        循环文件列表数组
                        在 $Label1 中显示正在处理的文件
                        替换文件中的内容
        EndSwitch
WEnd

happytc 发表于 2011-10-18 13:55:16

本帖最后由 happytc 于 2011-10-18 13:57 编辑

回复 1# fankcer

GUICtrlCreateGroup创建的只是一个‘虚拟’的控件,只是创建了一个框框而已
也就是通俗也来说,那个框框内的,并不是由Group这个控件来控制的,也就是说,你别想着对这个框内设个背景色之类的
所以你不能对它进行这种操作。

fankcer 发表于 2011-10-18 14:00:56

回复fankcer

GUICtrlCreateGroup创建的只是一个‘虚拟’的控件,只是创建了一个框框而已
也就是通俗 ...
happytc 发表于 2011-10-18 13:55 http://www.autoitx.com/images/common/back.gif

原来如此,请问,除了 input 和 edit 这2个控件外,还有别的什么控件可以实现接收拖曳文件吗?

happytc 发表于 2011-10-18 14:10:21

多了,象listbox,listview之类的都可以

fankcer 发表于 2011-10-19 11:50:12

回复 4# happytc
谢谢你的回答,不过由于我不需要把文件列表显示出来,listbox和listview都不实用,目前正在想办法能不能改写拖拽函数

afan 发表于 2011-10-19 12:17:36

回复 5# fankcer


    Label

fankcer 发表于 2011-10-20 09:40:11

回复 6# afan


谢谢版主的帮助!
页: [1]
查看完整版本: (已解决)如何实现多个文件拖曳后生成数组?