找回密码
 加入
搜索
查看: 2356|回复: 7

[AU3基础] 关于循环问题,路过高手看看。谢谢各位朋友的帮忙[已解决]

  [复制链接]
发表于 2010-9-15 14:33:52 | 显示全部楼层 |阅读模式
本帖最后由 yingf20 于 2010-9-16 09:25 编辑

例子:
 
While 1
        $Msg = GUIGetMsg()
        Select
                Case $Msg = $GUI_EVENT_CLOSE
                        Exit
                Case $Msg = $Browse1
                         ;我想在这里设个连接跳到下个$Browse4运行。知道的朋友帮忙一下。在此谢谢
                Case $Msg = $Browse2
                         ;我想在这里设个连接跳到下个$Browse4运行。知道的朋友帮忙一下。在此谢谢
                Case $Msg = $Browse3
                         ;我想在这里设个连接跳到下个$Browse4运行。知道的朋友帮忙一下。在此谢谢
                Case $Msg = $Browse4
        EndSelect      
WEnd
如果有些朋友用如下方法的就不要回复。
While 1
        $Msg = GUIGetMsg()
        Select
                Case $Msg = $GUI_EVENT_CLOSE
                        Exit
                Case $Msg = $Browse1
                         YF()
                Case $Msg = $Browse2
                         YF()
                Case $Msg = $Browse3
                         YF()
        EndSelect      
WEnd
 
Func YF()
exit
EndFunc;========>

评分

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

查看全部评分

 楼主| 发表于 2010-9-15 14:56:52 | 显示全部楼层
怎么光看,没有高手经过的。
发表于 2010-9-15 15:15:25 | 显示全部楼层
加个if  让$Browse4=$Browse1
发表于 2010-9-15 16:10:43 | 显示全部楼层
试试下面的效果,看是否符合要求。
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>

Example()

Func Example()

        Local $Button_1, $Button_2, $Button_3, $Button_4, $msg

        GUICreate("My GUI Button")

        Opt("GUICoordMode", 2)
        $Button_1 = GUICtrlCreateButton("Button_1", 10, 30, 90)
        $Button_2 = GUICtrlCreateButton("Button_2", 0, -1)
        $Button_3 = GUICtrlCreateButton("Button_3", 0, -1)
        $Button_4 = GUICtrlCreateButton("Button_4", 0, -1)

        GUISetState()

        While 1
                $msg = GUIGetMsg()
                Select
                        Case $msg = $GUI_EVENT_CLOSE
                                ExitLoop
                        Case $msg = $Button_1
                                GUICtrlSendMsg($Button_4, $BM_CLICK, 0, 0)
                        Case $msg = $Button_2
                                GUICtrlSendMsg($Button_4, $BM_CLICK, 0, 0)
                        Case $msg = $Button_3
                                GUICtrlSendMsg($Button_4, $BM_CLICK, 0, 0)
                        Case $msg = $Button_4
                                Run('Notepad.exe')

                EndSelect
        WEnd
EndFunc

评分

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

查看全部评分

 楼主| 发表于 2010-9-15 22:30:37 | 显示全部楼层
楼上的,请问还有别的方法不?知道的朋友多给发些分享。。
在此谢谢。多收集有益。呵
发表于 2010-9-15 23:52:32 | 显示全部楼层
_GUICtrlButton_Click 也可以
#include <GUIConstantsEx.au3>
#include <GuiButton.au3>

Example()

Func Example()

        Local $Button_1, $Button_2, $Button_3, $Button_4, $msg

        GUICreate("My GUI Button")

        Opt("GUICoordMode", 2)

        $Button_1 = GUICtrlCreateButton("Button_1", 10, 30, 90)
        $Button_2 = GUICtrlCreateButton("Button_2", 0, -1)
        $Button_3 = GUICtrlCreateButton("Button_3", 0, -1)
        $Button_4 = GUICtrlCreateButton("Button_4", 0, -1)

        GUISetState()

        While 1

                $msg = GUIGetMsg()

                Select

                        Case $msg = $GUI_EVENT_CLOSE
                                ExitLoop
                        Case $msg = $Button_1
                                _GUICtrlButton_Click($Button_4)
                        Case $msg = $Button_2
                                MsgBox(0, 0, "我是Button_2")
                        Case $msg = $Button_3
                                MsgBox(0, 0, "我是Button_3")
                        Case $msg = $Button_4
                                MsgBox(0, 0, "我是Button_4")

                EndSelect
        WEnd
EndFunc   ;==>Example

评分

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

查看全部评分

发表于 2010-9-16 00:34:57 | 显示全部楼层
回复 5# yingf20

四楼的代码是不能实现你的功能?还是要换种形式的?如果是达不到你的功能需求,麻烦你详细描述一下;下面是另外一种形式的代码,功能和上面是一样的,更简单些,头文件 ButtonConstants.au3 都可以略掉。
#include <GUIConstantsEx.au3>

Example()

Func Example()

        Local $hWnd, $Button_1, $Button_2, $Button_3, $Button_4, $msg

        $hWnd = GUICreate("My GUI Button")

        Opt("GUICoordMode", 2)
        $Button_1 = GUICtrlCreateButton("Button_1", 10, 30, 90)
        $Button_2 = GUICtrlCreateButton("Button_2", 0, -1)
        $Button_3 = GUICtrlCreateButton("Button_3", 0, -1)
        $Button_4 = GUICtrlCreateButton("Button_4", 0, -1)

        GUISetState()

        While 1
                $msg = GUIGetMsg()
                Switch $msg
                        Case $GUI_EVENT_CLOSE
                                ExitLoop
                        Case $Button_1
                                ControlClick($hWnd, '', $Button_4)
                        Case $Button_2
                                ControlClick($hWnd, '', $Button_4)
                        Case $Button_3
                                ControlClick($hWnd, '', $Button_4)
                        Case $Button_4
                                Run('Notepad.exe')

                EndSwitch
        WEnd
EndFunc

评分

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

查看全部评分

 楼主| 发表于 2010-9-16 09:24:24 | 显示全部楼层
本帖最后由 yingf20 于 2010-9-16 09:33 编辑

回复 7# baikaifang


谢谢你给的代码。我用了你的方法,感觉不错。
4楼的也不错。在此谢谢各位热心的朋友。6楼的虽然不是我想要的,但是还是谢谢热心帮忙
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2025-1-11 22:36 , Processed in 0.078750 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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