t87564833 发表于 2010-7-4 10:42:30

再来个问题,关于DriveGetDrive和GUICtrlCreateCombo的使用【已解决!】

本帖最后由 t87564833 于 2010-7-4 11:11 编辑

有人能帮下吗?{:face (427):} 如何用AU3做出下图这个效果?就是点击后列出未使用的盘符,自己思考了一下,一些数组处理还不怎么懂,卡住了,希望能有人指点!


感谢xsjtxy和jhun的回答!{:face (293):}

afan 发表于 2010-7-4 10:52:29

这不就是个 Combo ?没有特殊之处~

t87564833 发表于 2010-7-4 10:55:24

本帖最后由 t87564833 于 2010-7-4 10:56 编辑

回复 2# afan
就是想实现,点击后列出未使用的盘符{:face (113):}
afan帮下忙

DriveGetDrive 这个可以返回已经使用的盘符,但是结合起来用我不懂处理数组,也想借此学习一下!

xsjtxy 发表于 2010-7-4 10:57:48

本帖最后由 xsjtxy 于 2010-7-4 11:01 编辑

#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 200, 100, -1, -1)
$Combo1 = GUICtrlCreateCombo("", 20, 20, 50, 25, $CBS_DROPDOWNLIST)
GUISetState(@SW_SHOW)

Drive()

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

        EndSwitch
WEnd

Func Drive()
$i = "CDEFGHIJKLMNOPQRSTUVWXYZ"
Do
$ii = StringLeft($i, 1)
if FileExists($ii & ":\") = 0 then GUICtrlSetData($Combo1, $ii & ":",$ii & ":")
$i = StringTrimLeft ($i, 1)
Until $ii = "Z"
EndFunc

jhun 发表于 2010-7-4 11:03:37

啊,有个抢先了,我也贴一下我的代码吧,思路不同#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 247, 143, 192, 124)
$Combo1 = GUICtrlCreateCombo("", 56, 48, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUISetState()
$name="A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z"
$Drive=DriveGetDrive ( "all" )
For $i=1 To UBound ($Drive)-1
        $name=StringReplace($name,StringReplace ($Drive[$i],":","|"),"")
Next
GUICtrlSetData($Combo1,$name)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

afan 发表于 2010-7-4 11:03:40

本帖最后由 afan 于 2010-7-4 11:06 编辑

4#的代码没用到DriveGetDrive,也就不会有LZ的数组之忧,简单实用~

jhun 发表于 2010-7-4 11:04:30

=。=明显我插你队了

afan 发表于 2010-7-4 11:05:30

LS的胖子很敏捷,身段不错~

t87564833 发表于 2010-7-4 11:09:05

2个代码都很帅,非常感谢您们的回答,有收获了!{:face (411):}{:face (411):}
页: [1]
查看完整版本: 再来个问题,关于DriveGetDrive和GUICtrlCreateCombo的使用【已解决!】