mo_shaojie 发表于 2010-11-19 16:13:31

关于控件变灰选择的问题.

如http://www.autoitx.com/forum.php?mod=viewthread&tid=13870&highlight=%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

chenronting 发表于 2010-11-19 16:51:49

是文件跟是文件夹你不能区分开吗。文件就是有扩展名吧,就判断是否是.exe.txt之类的

是否选中控件,就用GUICtrlRead($Checkbox1)
唉,真是郁闷,这种帮助里都有的东西,为什么你还要来这里提问呢
浪费论坛空间~

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

mo_shaojie 发表于 2010-11-19 20:53:36

楼主是不是想要这样的效果啊?感觉你起的标题和内容是两码事
yhxhappy 发表于 2010-11-19 18:16 http://www.autoitx.com/images/common/back.gif


    正是这样的效果,多谢楼上的.原来变通一下就行了.太古板了.

mo_shaojie 发表于 2010-11-19 21:08:55

又有问题了,那如何区别它是文件还是目录啊?如果是文件则写到下,如果是目录则写到下.
GUICtrlSetData($Input1, $var)
IniWrite()

mo_shaojie 发表于 2010-11-19 21:32:03

呵呵,我想到办法了
页: [1]
查看完整版本: 关于控件变灰选择的问题.