找回密码
 加入
搜索
查看: 2365|回复: 5

[AU3基础] 关于控件变灰选择的问题.

[复制链接]
发表于 2010-11-19 16:13:31 | 显示全部楼层 |阅读模式
http://www.autoitx.com/forum.php ... =%B8%B4%D1%A1%BF%F2
看了后感觉不错,但是有另一个问题.
比如,选择了checkbox,这个input窗口是打开一个选择目录的窗口,如果没选择checkbox,则是打开一个文件的窗口.同时要将这个input的内容写到ini里面.是目录则写到ini指定目录里,是文件则写到文件里.怎么区分开来?
有点想不出方法来. 请高手们支点方法.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("Form1", 350, 150)
$Input1 = GUICtrlCreateInput("Input1", 32, 56, 121, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 190, 56, 97, 17)
$button = GUICtrlCreateButton("",160,56,30,21)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                                        Case $button
                                                $run = FileOpenDialog("请选择文件", @HomeDrive& "",  "文件 (*.*)", 1+4)
                                GUICtrlSetData($Input1, $run)
                Case $Checkbox1
                        If GUICtrlRead($Checkbox1) = 1 Then
                        EndIf
        EndSwitch
WEnd
发表于 2010-11-19 16:51:49 | 显示全部楼层
是文件跟是文件夹你不能区分开吗。文件就是有扩展名吧,就判断是否是.exe.txt之类的

是否选中控件,就用GUICtrlRead($Checkbox1)
唉,真是郁闷,这种帮助里都有的东西,为什么你还要来这里提问呢
浪费论坛空间~
发表于 2010-11-19 18:16:29 | 显示全部楼层
本帖最后由 yhxhappy 于 2010-11-19 18:21 编辑

楼主是不是想要这样的效果啊?感觉你起的标题和内容是两码事
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("Form1", 350, 150)
$Input1 = GUICtrlCreateInput("Input1", 32, 56, 121, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 190, 56, 97, 17)
$button = GUICtrlCreateButton("",160,56,30,21)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                                Case $button
                                        If GUICtrlRead($Checkbox1) <> 1 Then
                                                $var = FileOpenDialog("请选择文件", @HomeDrive& "",  "文件 (*.*)", 1+4)
                                                ;这里 可以将返回值写入 文件 ini
                                                MsgBox(0,"选中的文件名及路径",$var)
                                        Else
                                                $var = FileSelectFolder("选择文件夹.", "")
                                                ;这里 可以将返回值写入 文件夹目录 ini
                                                MsgBox(0,"选中的文件夹路径",$var)
                                        EndIf
        EndSwitch
WEnd
 楼主| 发表于 2010-11-19 20:53:36 | 显示全部楼层
楼主是不是想要这样的效果啊?感觉你起的标题和内容是两码事
yhxhappy 发表于 2010-11-19 18:16



    正是这样的效果,多谢楼上的.原来变通一下就行了.太古板了.
 楼主| 发表于 2010-11-19 21:08:55 | 显示全部楼层
又有问题了,那如何区别它是文件还是目录啊?如果是文件则写到[file]下,如果是目录则写到[dir]下.
GUICtrlSetData($Input1, $var)
IniWrite()
 楼主| 发表于 2010-11-19 21:32:03 | 显示全部楼层
呵呵,我想到办法了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-20 16:49 , Processed in 0.079873 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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