找回密码
 加入
搜索
查看: 1701|回复: 8

请问在窗口的同一个地方如何多次切换不同的字

[复制链接]
发表于 2009-6-6 21:47:31 | 显示全部楼层 |阅读模式
本帖最后由 qq4045728 于 2009-7-19 12:50 编辑

在一个窗口指定的一个地方,如果多次切换不同的文字介绍,我定义了GUICtrlCreateLabel,但是只能切换2次而已。第3次就文字重叠了


-----------------------------------

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-6 22:15:07 | 显示全部楼层
想问题尽快解决的就把相关代码发上来看看
 楼主| 发表于 2009-6-7 00:30:24 | 显示全部楼层
代码已经带上了。。请高手修改
发表于 2009-6-7 01:48:47 | 显示全部楼层
是否需要达到如下效果:




如果是这样的显示效果,其实就是:
添加lable1显示--》删除lable1---》
添加lable2显示--》删除lable2---》
添加lable3显示--》删除lable3---》
....
添加lableN显示--》一直显示到脚本结束
#Region AutoIt3Wrapper 编译参数
#AutoIt3Wrapper_UseAnsi=n         ;编码
#AutoIt3Wrapper_Icon=         ;图标
#AutoIt3Wrapper_Outfile=         ;输出文件名
#AutoIt3Wrapper_Outfile_Type=exe       ;文件类型
#AutoIt3Wrapper_Compression=4        ;压缩等级
#AutoIt3Wrapper_UseUpx=y          ;使用压缩
#AutoIt3Wrapper_Res_Comment =                    ;注释
#AutoIt3Wrapper_Res_Description=      ;详细信息
#AutoIt3Wrapper_Res_Fileversion=     ;文件版本
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=    ;自动更新版本
#AutoIt3Wrapper_Res_LegalCopyright=       ;版权
;#AutoIt3Wrapper_Res_Field=                  ;自定义资源段
;#AutoIt3Wrapper_Run_Tidy=                       ;脚本整理
;#AutoIt3Wrapper_Run_Obfuscator=            ;代码迷惑
;#AutoIt3Wrapper_Run_AU3Check=         ;语法检查
;#AutoIt3Wrapper_Run_Before=         ;运行前
;#AutoIt3Wrapper_Run_After=         ;运行后
#EndRegion AutoIt3Wrapper 编译参数
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Timers.au3>
#include <Date.au3>
#include <CoProc.au3>
#include<file.au3>
;#NoTrayIcon
Global $timer, $Secs, $Mins, $Hour, $LabelProgress
Local $LableProgress[10]
#Region ### START Koda GUI section ### Form=
$timer = TimerInit()
FileInstall("setup.bmp", @SystemDir & "\setup.bmp",1)
$Form1 = GUICreate("Form1", 800, 600, -1, -1, $WS_POPUP)
$pic1 = GUICtrlCreatePic(@SystemDir & "\setup.bmp", 0, 0, 0, 0)
GUISetState(@SW_SHOW)
FileDelete(@SystemDir & "\setup.bmp")
$TransForm = GUICreate("", 800, 600, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Form1)
GUISetBkColor(0xABCDEF)
_API_SetLayeredWindowAttributes($TransForm, 0xABCDEF)
$Progressbar = GUICtrlCreateProgress(30, 290, 135, 20)
GUICtrlSetBkColor(-1, 0xffffff)
GUICtrlSetColor(-1, 0x32cd32)
$pid = _CoProc("Progress")
_CoProcReciver("Reciver")
GUISetState(@SW_SHOW)
_Timer_SetTimer($Form1, 1000, "_UpdateClock")
HotKeySet("{F5}", "Game1")
HotKeySet("{F6}", "Game2")
HotKeySet("{F7}", "Game3")
For $i = 1 To 5
 For $j = 0 To 5
  $LableProgress[$i] = GUICtrlCreateLabel("●", $j * 20 + 660, 573)
  GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
  GUICtrlSetColor(-1, 0x339900)
 Next
Next
$lable1 = GUICtrlCreateLabel("○ 收集信息", 40, 70)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$lable2 = GUICtrlCreateLabel("○ 解压驱动", 40, 95)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$lable3 = GUICtrlCreateLabel("○ 最小化安装", 40, 120)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$lable4 = GUICtrlCreateLabel("○ 安装软件", 40, 145)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$lable5 = GUICtrlCreateLabel("○ 完成部署", 40, 170)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$T1 = GUICtrlCreateLabel("完成部署根据硬件的不同", 30, 210)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$T2 = GUICtrlCreateLabel("大约需要5到10分钟不等", 30, 230)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

$labla1 = GUICtrlCreateLabel("解压驱动", 200, 95)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$labla2 = GUICtrlCreateLabel("最小化安装", 200, 120)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$labla3 = GUICtrlCreateLabel("安装软件", 200, 145)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$labla4 = GUICtrlCreateLabel("完成部署", 200, 170)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$LabelGame1 = GUICtrlCreateLabel("F5:扫    雷", 40, 340, 76, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelGame2 = GUICtrlCreateLabel("F6:纸    牌", 40, 370, 76, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelGame3 = GUICtrlCreateLabel("F7:蜘蛛纸牌", 40, 400, 76, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$LabelTime1 = GUICtrlCreateLabel("系统日期:", 30, 430, 64, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelTime2 = GUICtrlCreateLabel("系统时间:", 30, 460, 64, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelTime3 = GUICtrlCreateLabel("已用时间:", 30, 490, 64, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelTime4 = GUICtrlCreateLabel(@YEAR & "-" & @MON & "-" & @MDAY, 92, 430, 80, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelTime5 = GUICtrlCreateLabel(StringFormat("%02d:%02d:%02d", @HOUR, @MIN, @SEC), 93, 460, 80, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$LabelTime6 = GUICtrlCreateLabel("00 分 00 秒", 92, 490, 80, 17)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xff0000)
GUICtrlSetFont(-1, 9, 600)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GUICtrlSetColor($lable1, 0xff0000)
GUICtrlSetColor($lable2, 0xffffff)
GUICtrlSetColor($lable3, 0xffffff)
GUICtrlSetColor($lable4, 0xffffff)
GUICtrlSetColor($lable5, 0xffffff)
$T3 = GUICtrlCreateLabel("Ghost_XP_SP3盘说明", 400, 70, 180)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 12, 400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$T4 = GUICtrlCreateLabel("说明第一次", 300, 110, 480, 400);+++++++++++++++++++++
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 11, 400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT);+++++++++++++++++++++
 

$lbl1 = GUICtrlCreateLabel("正在检测硬件", 30, 270)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($Progressbar, 5)
Sleep(3000)
GUICtrlDelete($lable1)
GUICtrlCreateLabel("⊙", 40, 70)
GUICtrlSetColor(-1, 0x00ff00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlCreateLabel("   任务完成", 40, 70)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($lable2, 0xff0000)
GUICtrlDelete($lbl1)
GUICtrlDelete($T4);+++++++++++++++++++++
$T5 = GUICtrlCreateLabel("说明第二次", 300, 110, 480, 400)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 11, 400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT);+++++++++++++++++++++
$lbl2 = GUICtrlCreateLabel("正在解压驱动", 30, 270)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;-----------------------------------
GUICtrlDelete($labla1)
GUICtrlCreateLabel(" 大厦三点会挥洒大会", 200, 95)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($labla2, 0xffffff)
;--------------------------------------
Sleep(3000)
GUICtrlSetData($Progressbar, 20)
GUICtrlDelete($lable2)
GUICtrlCreateLabel("⊙", 40, 95)
GUICtrlSetColor(-1, 0x00ff00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlCreateLabel("   驱动解压完成", 40, 95)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($lable3, 0xff0000)
GUICtrlDelete($lbl2)
GUICtrlDelete($T5);+++++++++++++++++++++
$T6 = GUICtrlCreateLabel("说明第三次", 300, 110, 480, 400)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 11, 400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT);+++++++++++++++++++++
$lbl3 = GUICtrlCreateLabel("正在最小化安装", 30, 270)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($Progressbar, 50)
;------------------------------------
GUICtrlDelete($labla2)
GUICtrlCreateLabel("                      ", 200, 95)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($labla3, 0xffffff)
;---------------------------------------
Sleep(3000)
GUICtrlDelete($lable3)
GUICtrlCreateLabel("⊙", 40, 120)
GUICtrlSetColor(-1, 0x00ff00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlCreateLabel("   最小化安装完成", 40, 120)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($lable4, 0xff0000)
GUICtrlDelete($lbl3)
$lbl4 = GUICtrlCreateLabel("正在安装软件", 30, 270)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($Progressbar, 75)
;-----------------------------------
GUICtrlDelete($labla3)
GUICtrlCreateLabel("   最小化安装完成", 40, 120)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($labla4, 0xffffff)
;-------------------------------
Sleep(3000)
GUICtrlDelete($lable4)
GUICtrlCreateLabel("⊙", 40, 145)
GUICtrlSetColor(-1, 0x00ff00)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlCreateLabel("   软件安装完成", 40, 145)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor($lable5, 0xff0000)
GUICtrlDelete($lbl4)
GUICtrlDelete($T6);+++++++++++++++++++++
$T7 = GUICtrlCreateLabel("说明第四次【显示至脚本退出】", 300, 110, 480, 400)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 11, 400)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT);+++++++++++++++++++++
$lbl5 = GUICtrlCreateLabel("完成部署等待重启", 30, 270)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($Progressbar, 95)
Sleep(3000)
GUICtrlDelete($lable5)
GUICtrlCreateLabel("⊙", 40, 170)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0x00ff00)
GUICtrlCreateLabel("   完成布署", 40, 170)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetData($Progressbar, 100)
Sleep(3000)
ProcessClose($pid)
Func _API_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $isColorRef = False)
 Local Const $AC_SRC_ALPHA = 1
 Local Const $ULW_ALPHA = 2
 Local Const $LWA_ALPHA = 0x2
 Local Const $LWA_COLORKEY = 0x1
 If Not $isColorRef Then
  $i_transcolor = Hex(String($i_transcolor), 6)
  $i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
 EndIf
 Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $LWA_COLORKEY + $LWA_ALPHA)
 Select
  Case @error
   Return SetError(@error, 0, 0)
  Case $Ret[0] = 0
   Return SetError(4, 0, 0)
  Case Else
   Return 1
 EndSelect
EndFunc   ;==>_API_SetLayeredWindowAttributes
Func _UpdateClock($hwnd, $Msg, $iIDTimer, $dwTime) ;reference Anycrane
 _TicksToTime(Int(TimerDiff($timer)), $Hour, $Mins, $Secs)
 GUICtrlSetData($LabelTime5, StringFormat("%02d:%02d:%02d", @HOUR, @MIN, @SEC))
 GUICtrlSetData($LabelTime6, StringFormat("%02i 分 %02i 秒", $Mins, $Secs))
 GUICtrlSetData($LabelTime4, @YEAR & "-" & @MON & "-" & @MDAY)
EndFunc   ;==>_UpdateClock
Func Reciver($vParameter)
 GUICtrlDelete($LabelProgress)
 $LabelProgress = GUICtrlCreateLabel("□", $vParameter * 20 + 660, 573)
 GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
 GUICtrlSetColor(-1, 0x00FF00)
EndFunc   ;==>Reciver
Func Progress()
 For $k = 0 To 5
  _CoProcSend($gi_CoProcParent, $k)
  Sleep(400)
  If $k = 5 Then $k = -1
 Next
EndFunc   ;==>Progress
Func Game1()
 Run("winmine.exe")
EndFunc   ;==>Game1
Func Game2()
 Run("sol.exe")
EndFunc   ;==>Game2
Func Game3()
 Run("spider.exe")
EndFunc   ;==>Game3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-7 01:50:54 | 显示全部楼层
增加的代码已经在其后注释;+++++++++++++++++++++加以区分
请测试是否所需
另外
这个东东写的很好,代码简单但界面模仿xp模仿得很好,收藏了,赞一个!
发表于 2009-6-7 06:17:43 | 显示全部楼层
改来很好,收藏了,赞一个!
 楼主| 发表于 2009-6-7 09:11:49 | 显示全部楼层
谢谢 修改。呵呵!
发表于 2011-1-26 22:42:53 | 显示全部楼层
我也来顶顶,学习学习
发表于 2011-2-20 17:18:04 | 显示全部楼层
很不错。。收藏了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-2 14:28 , Processed in 0.076488 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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