找回密码
 加入
搜索
查看: 3202|回复: 14

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

[复制链接]
发表于 2008-5-10 11:46:20 | 显示全部楼层 |阅读模式
请教大家,请问怎么实现当输入框无内容时按钮为灰色,当输入内容时按钮就变正常?

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

[ 本帖最后由 ollydbg 于 2008-5-16 10:17 编辑 ]
 楼主| 发表于 2008-5-10 11:47:23 | 显示全部楼层
因为偶想自己编个“运行”的程序,学习一下。
发表于 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 编辑 ]
发表于 2008-5-10 19:38:41 | 显示全部楼层
这是不可能的,因为一个灰色的edit是不会得到焦点的,用户根本不能输入东西,所以,永远是灰色的。
发表于 2008-5-10 20:56:47 | 显示全部楼层
可以的。。。循环检测设置颜色即可。。官方有这样的例子。
发表于 2008-5-10 21:02:00 | 显示全部楼层
原帖由 asdf 于 2008-5-10 19:38 发表
这是不可能的,因为一个灰色的edit是不会得到焦点的,用户根本不能输入东西,所以,永远是灰色的。


你是什么意思,搂主的意思是无内容的时候,按钮无效,否则有效吧,和焦点有什么关系
发表于 2008-5-10 21:24:42 | 显示全部楼层
理解没错的。应该是这种效果不?

http://www.autoitx.com/forum.php ... e%3D1&frombbs=1
 楼主| 发表于 2008-5-10 21:58:00 | 显示全部楼层

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

无输入内容,则“确定”按钮为灰色。
有输入内容,则“确定”按钮为正常。
发表于 2008-5-10 22:26:41 | 显示全部楼层
简单。。。要据我所发的例子。改一下即可。
 楼主| 发表于 2008-5-10 23:27:41 | 显示全部楼层
恳请,居士能否详细说下
发表于 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
发表于 2008-5-11 11:03:50 | 显示全部楼层
倒,不好意思,理解错了,以为是要没有内容时禁用edit控件……
发表于 2008-5-11 14:06:22 | 显示全部楼层
看到过类似的例子,上边有人给出了...
 楼主| 发表于 2008-5-16 10:17:12 | 显示全部楼层
谢谢各位的仗义回答,谢谢!!
发表于 2009-7-21 23:14:11 | 显示全部楼层
不错的GUI控件控制例子
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-6 14:23 , Processed in 0.078461 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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