再来个问题,关于DriveGetDrive和GUICtrlCreateCombo的使用【已解决!】
本帖最后由 t87564833 于 2010-7-4 11:11 编辑有人能帮下吗?{:face (427):} 如何用AU3做出下图这个效果?就是点击后列出未使用的盘符,自己思考了一下,一些数组处理还不怎么懂,卡住了,希望能有人指点!
感谢xsjtxy和jhun的回答!{:face (293):} 这不就是个 Combo ?没有特殊之处~ 本帖最后由 t87564833 于 2010-7-4 10:56 编辑
回复 2# afan
就是想实现,点击后列出未使用的盘符{:face (113):}
afan帮下忙
DriveGetDrive 这个可以返回已经使用的盘符,但是结合起来用我不懂处理数组,也想借此学习一下! 本帖最后由 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 啊,有个抢先了,我也贴一下我的代码吧,思路不同#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:06 编辑
4#的代码没用到DriveGetDrive,也就不会有LZ的数组之忧,简单实用~ =。=明显我插你队了 LS的胖子很敏捷,身段不错~ 2个代码都很帅,非常感谢您们的回答,有收获了!{:face (411):}{:face (411):}
页:
[1]