ollydbg 发表于 2008-5-10 11:46:20

请问怎么实现当输入框无内容时按钮为灰色,当输入内容时按钮就变正常?【已解决】

请教大家,请问怎么实现当输入框无内容时按钮为灰色,当输入内容时按钮就变正常?

新手报到,请大家多多帮助!!谢谢~

[ 本帖最后由 ollydbg 于 2008-5-16 10:17 编辑 ]

ollydbg 发表于 2008-5-10 11:47:23

因为偶想自己编个“运行”的程序,学习一下。

netegg 发表于 2008-5-10 13:29:11

回复 2# ollydbg 的帖子

select
case GuiCtrlGetData($input) =chr(0)
         GuiCtrlSetState($button, Disable)
Case else
         GuiCtrlSetState($button, Enable)
endselect

[ 本帖最后由 netegg 于 2008-5-10 14:42 编辑 ]

asdf 发表于 2008-5-10 19:38:41

这是不可能的,因为一个灰色的edit是不会得到焦点的,用户根本不能输入东西,所以,永远是灰色的。

sanhen 发表于 2008-5-10 20:56:47

可以的。。。循环检测设置颜色即可。。官方有这样的例子。

netegg 发表于 2008-5-10 21:02:00

原帖由 asdf 于 2008-5-10 19:38 发表 http://www.autoitx.com/images/common/back.gif
这是不可能的,因为一个灰色的edit是不会得到焦点的,用户根本不能输入东西,所以,永远是灰色的。

你是什么意思,搂主的意思是无内容的时候,按钮无效,否则有效吧,和焦点有什么关系

sanhen 发表于 2008-5-10 21:24:42

理解没错的。应该是这种效果不?

http://www.autoitx.com/forum.php?mod=viewthread&tid=467&extra=page%3D1&frombbs=1

ollydbg 发表于 2008-5-10 21:58:00

效果就是类似windows中“运行”的'确定'按钮一般。

无输入内容,则“确定”按钮为灰色。
有输入内容,则“确定”按钮为正常。

sanhen 发表于 2008-5-10 22:26:41

简单。。。要据我所发的例子。改一下即可。

ollydbg 发表于 2008-5-10 23:27:41

恳请,居士能否详细说下

pcbar 发表于 2008-5-11 08:10:43

#include <GUIConstantsEx.au3>
;~ Opt('MustDeclareVars', 1)
Example()
Func Example()
        Local $file, $btn, $msg
       
        GUICreate(" My GUI input acceptfile", 320, 120, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1)
        $file = GUICtrlCreateInput("", 10, 5, 300, 20)
        GUICtrlSetState(-1, $GUI_DROPACCEPTED)
;~         GUICtrlCreateInput("", 10, 35, 300, 20)         ; will not accept drag&drop files
        $btn = GUICtrlCreateButton("运行", 40, 75, 60, 25)
        GUISetState()
        $msg = 0
        While $msg <> $GUI_EVENT_CLOSE
                $msg = GUIGetMsg()
                if GUICtrlRead($file)="" then
                        if BitAND(GUICtrlgetState($btn),$gui_enable) then GUICtrlSetState($btn,$gui_disable)
                Else
                        if BitAND(GUICtrlgetState($btn),$gui_disable) then GUICtrlSetState($btn,$gui_enable)
                EndIf
               
                Select
                        Case $msg = $btn
                                Run(GUICtrlRead($file))
                                if @error Then MsgBox(0,0,"未找到可执行文件: "&GUICtrlRead($file)&" !")
                EndSelect
        WEnd
EndFunc   ;==>Example

asdf 发表于 2008-5-11 11:03:50

倒,不好意思,理解错了,以为是要没有内容时禁用edit控件……:face (32):

abowan 发表于 2008-5-11 14:06:22

看到过类似的例子,上边有人给出了...

ollydbg 发表于 2008-5-16 10:17:12

谢谢各位的仗义回答,谢谢!!

lynfr8 发表于 2009-7-21 23:14:11

不错的GUI控件控制例子
页: [1]
查看完整版本: 请问怎么实现当输入框无内容时按钮为灰色,当输入内容时按钮就变正常?【已解决】