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

怎样将按钮变成灰色不可按?

[复制链接]
发表于 2009-3-21 19:21:31 | 显示全部楼层 |阅读模式
代码如下(TEST.exe为自动安装程序,约120秒):

$kao = MsgBox(1, "确定安装", "确定安装软件?")
Select
        Case $kao = 1
                Run("TEST.exe")
                MsgBox(0 + 64 + 262144, "测试提示", "下面将要在后台运行自动安装,大约需要2分钟时间,请等待...", 120)
                MsgBox(0+64+262144,"测试提示","程序在后台120秒安装完毕后,此窗口代替前面的窗口!恭喜你!所有程序安装完毕,请按 确定 退出!")
        Case $kao = 2
EndSelect


================
问题:
能否将上面标红的这句中的“确定”改为灰色不可按?
否则,即使时间没到,只要按上了
MsgBox(0 + 64 + 262144, "测试提示", "下面将要在后台运行自动安装,大约需要2分钟时间,请等待...", 120)
的“确定”,就会马上跳出下一个窗口:
MsgBox(0+64+262144,"测试提示","程序在后台120秒安装完毕后,此窗口代替前面的窗口!恭喜你!所有程序安装完毕,请按 确定 退出!")

[ 本帖最后由 enet98 于 2009-3-21 23:35 编辑 ]
 楼主| 发表于 2009-3-21 19:43:40 | 显示全部楼层
使用ControlDisable不效!
发表于 2009-3-21 19:52:02 | 显示全部楼层
用原始方法:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$kao = MsgBox(1, "确定安装", "确定安装软件?")
Select
        Case $kao = 1
                Run("Test.exe")
                $Form1 = GUICreate("程序", 450, 40, 300, 400, $WS_POPUP)
                $Label = GUICtrlCreateLabel("", 10, 15, 400, 17)
                GUISetState(@SW_SHOW)
                Dim $i = 1
                While 1
                        $i = $i + 1
                        GUICtrlSetData($Label, "下面将要在后台运行自动安装,大约需要2分钟时间,还剩 " & 120 - $i & " 秒")                        
                        Sleep(1000)
                        If $i = 120 Then ExitLoop
                WEnd
                MsgBox(0, "恭喜", "安装完成")
        Case $kao = 2
EndSelect
 楼主| 发表于 2009-3-21 20:08:45 | 显示全部楼层
原帖由 论坛管理员 于 2009-3-21 19:52 发表
用原始方法:
#include
#include

$kao = MsgBox(1, "确定安装", "确定安装软件?")
Select
        Case $kao = 1
                Run("Test.exe")
                $Form1 = GUICreate("程序", 450, 40 ...


辛苦了!!!!!!!
真的一动不动!就是不太美观!
我等还需要研究一下!

本帖子中包含更多资源

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

×
 楼主| 发表于 2009-3-21 20:22:28 | 显示全部楼层
不会做题,却会出题!

本帖子中包含更多资源

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

×
发表于 2009-3-21 20:41:26 | 显示全部楼层
你的需要就是俺的需要!

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$kao = MsgBox(1, "确定安装", "确定安装软件?")
Select
        Case $kao = 1
                Run("Test.exe")
                $Form1 = GUICreate("程序", 370, 40, 300, 350, $WS_POPUP)
                $Label = GUICtrlCreateLabel("", 10, 15, 350, 17)
                GUISetState(@SW_SHOW)
                Dim $i = 1
                While 1
                        $i = $i + 1
                        GUICtrlSetData($Label, "下面将要在后台运行自动安装,大约需要2分钟时间,还剩 " & 120 - $i & " 秒")                        
                        Sleep(1000)
                        If $i = 120 Then ExitLoop
                WEnd
        GUISetState(@SW_HIDE)
        Case $kao = 2
EndSelect
                MsgBox(0, "恭喜", "安装完成")

[ 本帖最后由 论坛管理员 于 2009-3-21 20:46 编辑 ]
 楼主| 发表于 2009-3-21 21:17:44 | 显示全部楼层
原帖由 论坛管理员 于 2009-3-21 20:41 发表
你的需要就是俺的需要!

#include
#include

$kao = MsgBox(1, "确定安装", "确定安装软件?")
Select
        Case $kao = 1
                Run("Test.exe")
                $Form1 = G ...



报告老大:
两个问题:
1、如果带程序运行的话,即Run("Test.exe")起了作用,且需要一定的时间,则以下表单同样需要一定时间才能出现:
$Form1 = GUICreate("程序", 370, 40, 300, 350, $WS_POPUP)
                $Label = GUICtrlCreateLabel("", 10, 15, 350, 17)
                GUISetState(@SW_SHOW)
                Dim $i = 1
                While 1
                        $i = $i + 1
                        GUICtrlSetData($Label, "下面将要在后台运行自动安装,大约需要2分钟时间,还剩 " & 120 - $i & " 秒")                        
                        Sleep(1000)
                        If $i = 120 Then ExitLoop
2、上述表单居中的问题没有彻底解决,它与屏幕的分辨率设置有关!

[ 本帖最后由 enet98 于 2009-3-21 23:35 编辑 ]
 楼主| 发表于 2009-3-22 09:14:12 | 显示全部楼层
多谢论坛管理员 拔刀相助解决了居中问题!
09-3-21 23:54
$Form1 = GUICreate("程序", 370, 40, -1, -1, $WS_POPUP)
解决居中问题
 楼主| 发表于 2009-3-22 09:16:55 | 显示全部楼层
对不起!有点乱了!决定重新开贴发新问题!具体见下贴:
http://www.autoitx.com/forum.php ... e%3D1&frombbs=1

[ 本帖最后由 enet98 于 2009-3-22 09:54 编辑 ]
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-28 03:04 , Processed in 0.082809 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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