找回密码
 加入
搜索
查看: 4161|回复: 8

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

  [复制链接]
发表于 2010-7-4 10:42:30 | 显示全部楼层 |阅读模式
本帖最后由 t87564833 于 2010-7-4 11:11 编辑

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


感谢xsjtxy和jhun  的回答!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-7-4 10:52:29 | 显示全部楼层
这不就是个 Combo ?没有特殊之处~
 楼主| 发表于 2010-7-4 10:55:24 | 显示全部楼层
本帖最后由 t87564833 于 2010-7-4 10:56 编辑

回复 2# afan
就是想实现,点击后列出未使用的盘符
afan帮下忙

DriveGetDrive 这个可以返回已经使用的盘符,但是结合起来用我不懂处理数组,也想借此学习一下!
发表于 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

评分

参与人数 2金钱 +20 贡献 +3 收起 理由
lynfr8 + 3
afan + 20

查看全部评分

发表于 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

评分

参与人数 2金钱 +20 贡献 +1 收起 理由
lynfr8 + 1
afan + 20

查看全部评分

发表于 2010-7-4 11:03:40 | 显示全部楼层
本帖最后由 afan 于 2010-7-4 11:06 编辑

4#的代码没用到DriveGetDrive,也就不会有LZ的数组之忧,简单实用~
发表于 2010-7-4 11:04:30 | 显示全部楼层
=。=明显我插你队了
发表于 2010-7-4 11:05:30 | 显示全部楼层
LS的胖子很敏捷,身段不错~
 楼主| 发表于 2010-7-4 11:09:05 | 显示全部楼层
2个代码都很帅,非常感谢您们的回答,有收获了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-12 13:05 , Processed in 0.090071 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表