qupen3704957 发表于 2011-2-17 16:26:15

FileOpenDialog打开选择文件显示到GUICtrlCreateListview中[已解决]

本帖最后由 qupen3704957 于 2011-2-18 09:05 编辑

请教一下,关于将打开一个FileOpenDialog对话框,将选择的文件列表显示到GUICtrlCreateListview的界面列表框中如何实现?
希望效果:
D:\3.JPG

D:\1.JPG

D:\2.JPG

水木子 发表于 2011-2-17 16:55:59

#include <GUIListView.au3>
Opt("GUIOnEventMode", 1)

GUICreate("", 400, 300)
GUISetOnEvent(-3, "_EventResponse")

$ListView1 = GUICtrlCreateListView("|", 5, 5, 390, 250)
_GUICtrlListView_SetColumnWidth($ListView1, 0, 350)
$Button1 = GUICtrlCreateButton("Button1", 312, 260, 75, 25)
GUICtrlSetOnEvent(-1, "_EventResponse")
GUISetState()

While 1
        Sleep(100)
WEnd

Func _EventResponse()
        Switch @GUI_CtrlId
                Case -3
                        Exit
                Case $Button1
                        $var = FileOpenDialog('', '', "图像文件 (*.jpg;*.bmp)", 1)

                        If Not @error Then
                                $var = StringReplace($var, "|", @CRLF)
                                GUICtrlCreateListViewItem($var, $ListView1)
                        EndIf
        EndSwitch
EndFunc   ;==>_EventResponse

qupen3704957 发表于 2011-2-17 17:09:18

非常感谢水木高手的及时回答,但现在有个问题,运行以上程序现在多选的文件都显示在一行中,如何让多选的文件都分行显示出来?

qupen3704957 发表于 2011-2-17 17:09:49

回复 2# 水木子

非常感谢水木高手的及时回答,但现在有个问题,运行以上程序现在多选的文件都显示在一行中,如何让多选的文件都分行显示出来?

水木子 发表于 2011-2-17 17:28:46

#include <GUIListView.au3>
Opt("GUIOnEventMode", 1)

GUICreate("", 400, 300)
GUISetOnEvent(-3, "_EventResponse")

$ListView1 = GUICtrlCreateListView("|", 5, 5, 390, 250)
_GUICtrlListView_SetColumnWidth($ListView1, 0, 350)
$Button1 = GUICtrlCreateButton("Button1", 312, 260, 75, 25)
GUICtrlSetOnEvent(-1, "_EventResponse")
GUISetState()

While 1
        Sleep(100)
WEnd

Func _EventResponse()
        Switch @GUI_CtrlId
                Case -3
                        Exit
                Case $Button1
                        $var = FileOpenDialog('', '', "图像文件 (*.jpg;*.bmp)", 1 + 4)

                        If Not @error Then
                                If StringInStr($var, '|') Then
                                        $a = StringSplit($var, '|')
                                        For $i = 2 To $a
                                                GUICtrlCreateListViewItem($a & '\' & $a[$i], $ListView1)
                                        Next
                                Else
                                        GUICtrlCreateListViewItem($var, $ListView1)
                                EndIf
                        EndIf
        EndSwitch
EndFunc   ;==>_EventResponse

qupen3704957 发表于 2011-2-17 17:33:27

回复 5# 水木子


    高手啊!!!多谢水木了,上忍都是很厉害的!!!

水木子 发表于 2011-2-17 17:36:25

本帖最后由 水木子 于 2011-2-17 17:38 编辑

回复 6# qupen3704957

呵呵!你太逗了,我是S级叛逆忍者!{:face (301):}

好啦!玩笑结束!如果问题已经解决了,就在标题后面加个[已解决]吧!

http://www.fishjava.com/img/599694f4/1a988e791788055bdde04.gif

andersonljw 发表于 2011-11-16 11:07:51

高手啊!!!
页: [1]
查看完整版本: FileOpenDialog打开选择文件显示到GUICtrlCreateListview中[已解决]