找回密码
 加入
搜索
查看: 2452|回复: 9

GUICtrlSetColor 同时改多控件颜色

[复制链接]
发表于 2009-11-1 17:18:57 | 显示全部楼层 |阅读模式
GUICreate ("测试",500,250)

$Label1 = GUICtrlCreateLabel ( "测试1" ,12,35)
$Label2 = GUICtrlCreateLabel ( "测试2" ,12,90)
$Label3 = GUICtrlCreateLabel ( "测试3" ,12,140)
$Label4 = GUICtrlCreateLabel ( "测试4" ,12,190)
$Label5 = GUICtrlCreateLabel ( "测试5" ,130,16,80,20)

GUICtrlSetColor($Label1,0xff0000)
GUICtrlSetColor($Label2,0xff0000)
GUICtrlSetColor($Label3,0xff0000)
GUICtrlSetColor($Label4,0xff0000)
GUICtrlSetColor($Label5,0xff0000)

想简化一下,
不知道GUICtrlSetColor 后边怎么写可以实现,只用一句GUICtrlSetColor,把$Label1-5都改成红色!
 楼主| 发表于 2009-11-1 17:19:21 | 显示全部楼层
望大侠们给个方案,谢谢!
发表于 2009-11-1 18:14:56 | 显示全部楼层
$Label[1] = GUICtrlCreateLabel ( "测试1" ,12,35)
$Label[2] = GUICtrlCreateLabel ( "测试2" ,12,90)
$Label[3] = GUICtrlCreateLabel ( "测试3" ,12,140)
$Label[4] = GUICtrlCreateLabel ( "测试4" ,12,190)
$Label[5] = GUICtrlCreateLabel ( "测试5" ,130,16,80,20)
for $i = 1 to 5
GUICtrlSetColor($Label[$i],0xff0000)
next
 楼主| 发表于 2009-11-1 20:13:10 | 显示全部楼层
谢谢网络鸡蛋兄弟,

我记得前段时间在哪看过一篇文章,不是用FOR的!
用FOR,等于还是把GUICtrlSetColor执行了5次,还多了循环!
不知道你还有更好的思路不?谢谢指点!
发表于 2009-11-1 21:44:43 | 显示全部楼层
只有如此 用循环来代替自己写代码
你用eval来 一样也是如此的方法

不过...除非你有上千上万个控件 不然的话 就复制下好了
发表于 2009-11-1 22:52:22 | 显示全部楼层
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
GUICreate ("测试",500,250)
GUICtrlSetDefColor (0xff0000)
$Label1 = GUICtrlCreateLabel ( "测试1" ,12,35)
$Label2 = GUICtrlCreateLabel ( "测试2" ,12,90)
$Label3 = GUICtrlCreateLabel ( "测试3" ,12,140)
$Label4 = GUICtrlCreateLabel ( "测试4" ,12,190)
$Label5 = GUICtrlCreateLabel ( "测试5" ,130,16,80,20)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
发表于 2009-11-2 00:00:07 | 显示全部楼层
lz好像只是要求标签为红色, 这样所有控件文本都是红色了........
发表于 2009-11-2 09:21:40 | 显示全部楼层
这样呢?
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
GUICreate ("测试",500,250)
GUICtrlSetDefColor (0xff0000)
$Label1 = GUICtrlCreateLabel ( "测试1" ,12,35)
$Label2 = GUICtrlCreateLabel ( "测试2" ,12,90)
$Label3 = GUICtrlCreateLabel ( "测试3" ,12,140)
$Label4 = GUICtrlCreateLabel ( "测试4" ,12,190)
$Label5 = GUICtrlCreateLabel ( "测试5" ,130,16,80,20)
GUICtrlSetDefColor (0x000000)
$Label5 = GUICtrlCreateLabel ( "测试6" ,190,16,80,20)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

评分

参与人数 1金钱 +25 贡献 +20 收起 理由
131738 + 25 + 20 原来这样也行哪! 一直以为一次只能定义一 ...

查看全部评分

 楼主| 发表于 2009-11-4 22:00:36 | 显示全部楼层
谢谢kn007的指点!
发表于 2009-11-4 23:17:24 | 显示全部楼层
这样呢?#include
#include
#Region ### START Koda GUI section ### Form=
GUICreate ("测试",500,250)
GUICtrlSetDefColor (0xff0000)
$Label1 = GUICtrlCreateLabel ( "测试1" ,12,35)
$Label2 = GUICtrl ...
kn007 发表于 2009-11-2 09:21

原来这样也行哪!
一直以为一次只能定义一个控件呢。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 17:34 , Processed in 0.089903 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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