两个按钮,同一时刻只显示一个,怎么能做到?(已解决)
本帖最后由 dearmb 于 2011-2-9 22:23 编辑两个按钮,一个开始,一个结束
我现在的做法是,首先显示“开始”,隐藏“结束”
然后点击“开始”的时候,“开始”会被隐藏,“结束”会被显示
…………
现在是用
#Include <GuiButton.au3>
_GUICtrlButton_Show($hWnd[, $fShow = True])
作的,程序卡的时候会保持在,一个按钮隐藏,而另一个按钮没有显示出来的中间状态,效果不太好
有没有什么更好的办法? 只用一个按钮,然后设置按钮文字即可,在去读取按钮文本
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 287, 197, 192, 124)
$Button1 = GUICtrlCreateButton("开始", 40, 56, 201, 81)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$T=GUICtrlRead($Button1)
If $T="开始" Then
GUICtrlSetData($Button1,"结束")
Else
;GUICtrlSetData($Button1,"开始")
MsgBox(0,0,"结束")
EndIf
EndSwitch
WEnd
用读取按钮文本的方式 判断显示或隐藏,这种方法很不安全,万一外部程序修改了按钮上的文本,这种方法岂不是会有BUG?~ 但是有问题阿,我用了两个按钮,每个按钮代表一个操作
你给我的代码只有一个按钮,怎么执行两个操作呢?
读取按钮上的文本决定操作吗? 本帖最后由 水木子 于 2011-2-7 18:11 编辑
比如:类似咱们听歌、看电影的播放器,“播放”、“暂停”两个功能,不就是同一个按钮实现的吗!
点击一次就播放,再点一次就暂停,如此循环,是这样的吧! 恩,对,我现在就是两个按钮互相显示和隐藏做的
不知道有没有更好的办法 ,实在不行就继续这样好了,效果还凑合
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 287, 197, 192, 124)
$Button1 = GUICtrlCreateButton("开始", 40, 56, 201, 81)
$Button2 = GUICtrlCreateButton("结束", 40, 56, 201, 81)
GUICtrlSetState($Button2, $GUI_HIDE)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;~ MsgBox(0, 0, "开始")
GUICtrlSetState($Button2, $GUI_SHOW)
GUICtrlSetState($Button1, $GUI_HIDE)
Case $Button2
;~ MsgBox(0, 0, "结束")
GUICtrlSetState($Button1, $GUI_SHOW)
GUICtrlSetState($Button2, $GUI_HIDE)
EndSwitch
WEnd
按照你开始说的做不是挺好 回复 7# xayle
这个不错 可以达到要求效果 和我做的差不多,看来就只有这样的办法吧
页:
[1]