【已解决】逐渐显示的文字效果有没得办法实现。。。
本帖最后由 viplight 于 2010-6-13 12:58 编辑烦大家帮帮忙,看看下面的代码所出现的效果能不能做的完整而完美!$titletwo = GUICreate("渐显字测试",280,200,-1,-1)
$guitest = GUICtrlCreateLabel("高手些帮帮忙,"&@CRLF&"我现在这样做出来不能点击“退出” ",15,30,260,40)
$guites1 = GUICtrlCreateLabel("",35,80,260,20)
$cancelbut= GUICtrlCreateButton("退出", 195, 170, 60,25)
GUISetState()
_test($guites1,"我想要的是这样的效果")
move()
While 1
$s = 100
$msg=GUIGetMsg()
select
Case $msg=$cancelbut Or $msg=$cancelbut
Exit
EndSelect
WEnd
Func _test($oem1,$date)
$sspt = StringSplit($date,"")
For $i=1 To $sspt
If $i=1 Then
GUICtrlSetData($oem1,$sspt)
ElseIf $i=2 Then
GUICtrlSetData($oem1,$sspt&$sspt)
ElseIf $i=3 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt)
ElseIf $i=4 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt)
ElseIf $i=5 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt&$sspt)
ElseIf $i=6 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt&$sspt&$sspt)
ElseIf $i=7 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt)
ElseIf $i=8 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt)
ElseIf $i=9 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt)
ElseIf $i=10 Then
GUICtrlSetData($oem1,$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt&$sspt)
EndIf
Sleep(500)
Next
EndFunc
Func move()
$s = 100
While 1
ControlMove('', '', $guitest, $s - 1, 0)
$s -= 1
Sleep(5)
WEnd
EndFunc ;==>move $guitest = GUICtrlCreateLabel("高手些帮帮忙,"&@CRLF&"我现在这样做出来不能点击“退出” ",15,30,260,40)#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
$titletwo = GUICreate("渐显字测试", 280, 200, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE")
$guitest = GUICtrlCreateLabel("高手些帮帮忙," & @CRLF & "我现在这样做出来不能点击“退出” ", 15, 30, 260, 40)
$guites1 = GUICtrlCreateLabel("", 35, 80, 260, 20)
$cancelbut = GUICtrlCreateButton("退出", 195, 170, 60, 25)
GUICtrlSetOnEvent($cancelbut, "CLOSE")
GUISetState()
_test($guites1, "我想要的是这样的效果")
move()
While 1
$s = 100
$msg = GUIGetMsg()
Select
Case $msg = $cancelbut Or $msg = $cancelbut
Exit
EndSelect
WEnd
Func _test($oem1, $date)
$sspt = StringSplit($date, "")
For $i = 1 To $sspt
If $i = 1 Then
GUICtrlSetData($oem1, $sspt)
ElseIf $i = 2 Then
GUICtrlSetData($oem1, $sspt & $sspt)
ElseIf $i = 3 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt)
ElseIf $i = 4 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt)
ElseIf $i = 5 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt & $sspt)
ElseIf $i = 6 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt & $sspt & $sspt)
ElseIf $i = 7 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt)
ElseIf $i = 8 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt)
ElseIf $i = 9 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt)
ElseIf $i = 10 Then
GUICtrlSetData($oem1, $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt & $sspt)
EndIf
Sleep(500)
Next
EndFunc ;==>_test
Func move()
$s = 100
While 1
ControlMove('', '', $guitest, $s - 1, 0)
$s -= 1
Sleep(5)
WEnd
EndFunc ;==>move
Func CLOSE()
Exit
EndFunc ;==>CLOSE帮助文件-GUI 相关 - 事件模式 回复 2# lynfr8
非常感谢{:face (88):}
页:
[1]