找回密码
 加入
搜索
查看: 2740|回复: 2

[GUI管理] [已解决]窗口渐显字的问题?

[复制链接]
发表于 2010-7-15 14:19:03 | 显示全部楼层 |阅读模式
看了论坛的窗口渐显字例子,但自己上午还是花了1个多小时才解决,好悬又贴帖子问大家了!呵呵!
#cs ____________________________________

 Au3 版本:
 脚本作者: 
        Email: 
        QQ/TM: 
 脚本版本: 
 脚本功能: 自我介绍
 编写本脚本收获:
 对有”教训“的要特别注意
 1.设置透明窗口WinSetTrans();
 2.对Label控件书写多行内容用&、@crlf和续行符号_完成;
 3.对控件设置字体和颜色用GUICtrlSetFont、GUICtrlSetColor命令;
 4.区域覆盖:点击$Label8居然没反映,代码没错误!原来是$Label1高度设置过大,覆盖住了$Label8,而窗口恰好设置了透明度,能看到它,哎!
 5.学会了在窗口使用渐显文字,主要方法设置空内容标签Label,再用_test()函数完成,其中最关键的是函数中字符的拆分,记住是""不是" ",
   中间有空格能把你害死!!!!!!浪费了近1个小时呀!教训!
#ce _______________脚本开始_________________

#include-once
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form=GUICreate("我的图片窗", 300, 200, -1, -1, $WS_SIZEBOX + $WS_SYSMENU+BitOR($WS_POPUP, $WS_BORDER))
GUISetBkColor(0xE0FFFF)
;WinSetTrans($Form,"",180) ;设置指定窗口的透明度 WinSetTrans("窗口标题","窗口文本",透明度)
$Icon1 = GUICtrlCreateIcon("D:\zgk_2010\autoit\AutoIt_zgk_works\PersonalTools\Logo.ico", -1, 16, 16, 41, 33)
$Label1 = GUICtrlCreateLabel("作者:一阳老爹" & @CRLF & _
                             "联系:" & @CRLF & _
                                                         "推介网站:" & @CRLF & _
                                                         "软件说明:这是本人的第一个计算机运维" & @CRLF & _
                             "工具,缺点多多!加之水平有限,如果发" & @CRLF & _
                             "现问题,请及时通知以便改正!" & @CRLF & _
                             "版权:个人所有,如有雷同,纯属虚构!", 80, 16, 1000,100)
$GraduallyWords= GUICtrlCreateLabel("", 35, 180, 260, 20)
GUICtrlSetColor(-1,0xff0000)
GUISetState()
_test($GraduallyWords, "点击退出")
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GraduallyWords
                        GUIDelete($Form)
                        Exit
                
        EndSwitch
WEnd

Func _test($GraduallyLabel,$GraduallyContent);用"渐显字内容“的函数,$GraduallyLabel对应标签控件$GraduallyWords,$GraduallyContent对应"渐显字内容" 
        $Content=StringSplit($GraduallyContent,"")
        ;把"渐显字的内容"拆分,分割符号是”“,"渐显字内容"不显示是把”“写成” “,多了空格!
        ;至于内容不完全显示,是自己GUICtrlSetData()不完全造成问题
        For $i=1  To $Content[0]
                If $i=1 Then
                        GUICtrlSetData($GraduallyLabel,$Content[1]);显示第1个渐显字
                ElseIf  $i=2  Then
                    GUICtrlSetData($GraduallyLabel,$Content[1] & $Content[2]);显示第2个渐显字并与上一个渐显字连接上,以下类推
                ElseIf $i=3 Then
                    GUICtrlSetData($GraduallyLabel,$Content[1] & $Content[2] & $Content[3])
                ElseIf $i=4 Then
                    GUICtrlSetData($GraduallyLabel,$Content[1] & $Content[2] & $Content[3] & $Content[4])
                EndIf
                Sleep(500)
        Next
EndFunc

评分

参与人数 1金钱 +10 收起 理由
afan + 10

查看全部评分

发表于 2010-7-15 17:12:18 | 显示全部楼层
LZ写的好详细,学习了
发表于 2010-7-16 07:04:15 | 显示全部楼层
学习了......
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-9 07:59 , Processed in 0.092523 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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