请问怎么实现当输入框无内容时按钮为灰色,当输入内容时按钮就变正常?【已解决】
请教大家,请问怎么实现当输入框无内容时按钮为灰色,当输入内容时按钮就变正常?新手报到,请大家多多帮助!!谢谢~
[ 本帖最后由 ollydbg 于 2008-5-16 10:17 编辑 ] 因为偶想自己编个“运行”的程序,学习一下。
回复 2# ollydbg 的帖子
selectcase GuiCtrlGetData($input) =chr(0)
GuiCtrlSetState($button, Disable)
Case else
GuiCtrlSetState($button, Enable)
endselect
[ 本帖最后由 netegg 于 2008-5-10 14:42 编辑 ] 这是不可能的,因为一个灰色的edit是不会得到焦点的,用户根本不能输入东西,所以,永远是灰色的。 可以的。。。循环检测设置颜色即可。。官方有这样的例子。 原帖由 asdf 于 2008-5-10 19:38 发表 http://www.autoitx.com/images/common/back.gif
这是不可能的,因为一个灰色的edit是不会得到焦点的,用户根本不能输入东西,所以,永远是灰色的。
你是什么意思,搂主的意思是无内容的时候,按钮无效,否则有效吧,和焦点有什么关系 理解没错的。应该是这种效果不?
http://www.autoitx.com/forum.php?mod=viewthread&tid=467&extra=page%3D1&frombbs=1
效果就是类似windows中“运行”的'确定'按钮一般。
无输入内容,则“确定”按钮为灰色。有输入内容,则“确定”按钮为正常。 简单。。。要据我所发的例子。改一下即可。 恳请,居士能否详细说下 #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 倒,不好意思,理解错了,以为是要没有内容时禁用edit控件……:face (32): 看到过类似的例子,上边有人给出了... 谢谢各位的仗义回答,谢谢!! 不错的GUI控件控制例子
页:
[1]