找回密码
 加入
搜索
查看: 1834|回复: 13

请问下我设计了个窗体请问下退出代码如何写!

[复制链接]
发表于 2009-9-13 06:02:21 | 显示全部楼层 |阅读模式
本帖最后由 wwcbjs 于 2009-9-13 13:13 编辑

$MenuItem9 = GUICtrlCreateMenuItem("退出(X)", $MenuIte
我想了很久
          Select
            Case $MenuItem9
                 Exit
            EndSelect
这个代码明显不对 但是不知道如何实现所以问问各位达人,我写的一进入就退出
发表于 2009-9-13 09:44:20 | 显示全部楼层
这样吗?
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE,$MenuItem9
                        Exit

        EndSwitch
WEnd

评分

参与人数 1贡献 +3 收起 理由
afan + 3

查看全部评分

发表于 2009-9-13 09:45:32 | 显示全部楼层
我是菜鸟,这是我的部分代码
GUISetOnEvent($GUI_EVENT_CLOSE, "Quit")
GuiSetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Call(Quit())
                        Exit

        EndSwitch
        WEnd
Func Quit()
    GUISetState(@SW_HIDE)
    Exit
EndFunc
发表于 2009-9-13 09:48:52 | 显示全部楼层
本帖最后由 水木子 于 2009-9-13 10:54 编辑

翻了下帮助文档。
这是帮助文档里的,共同学习吧!
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $defaultstatus, $status, $filemenu, $fileitem, $helpmenu, $saveitem
    Local $infoitem, $MenuItem9, $recentfilesmenu, $separator1, $viewmenu
    Local $viewstatusitem, $okbutton, $cancelbutton, $statuslabel, $msg, $file
   
    GUICreate("My GUI menu", 300, 200)

    Global $defaultstatus = "Ready"
    Global $status

    $filemenu = GUICtrlCreateMenu("&File")
    $fileitem = GUICtrlCreateMenuItem("Open", $filemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $helpmenu = GUICtrlCreateMenu("?")
    $saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
    $MenuItem9 = GUICtrlCreateMenuItem("退出", $filemenu)
    $recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, 1)

    $separator1 = GUICtrlCreateMenuItem("", $filemenu, 2)   ; create a separator line

    $viewmenu = GUICtrlCreateMenu("View", -1, 1)    ; is created before "?" menu
    $viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $okbutton = GUICtrlCreateButton("OK", 50, 130, 70, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    $cancelbutton = GUICtrlCreateButton("Cancel", 180, 130, 70, 20)

    $statuslabel = GUICtrlCreateLabel($defaultstatus, 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))

    GUISetState()
    While 1
        $msg = GUIGetMsg()
        
        If $msg = $fileitem Then
            $file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
            If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
        EndIf
        If $msg = $viewstatusitem Then
            If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
                GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
                GUICtrlSetState($statuslabel, $GUI_HIDE)
            Else
                GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
                GUICtrlSetState($statuslabel, $GUI_SHOW)
            EndIf
        EndIf
        If $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton Or $msg = $MenuItem9 Then ExitLoop
        If $msg = $infoitem Then MsgBox(0, "Info", "Only a test...")
    WEnd
    GUIDelete()
EndFunc   ;==>Example
发表于 2009-9-13 10:34:22 | 显示全部楼层
例子不是已经很清楚了吗...
GUICreate("My GUI menu", 300, 200)
$filemenu = GUICtrlCreateMenu("文件(&F)")
$MenuItem = GUICtrlCreateMenuItem("退出(&X)", $filemenu)
GUISetState()
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $MenuItem, -3
                        Exit
        EndSwitch
WEnd
发表于 2009-9-13 10:43:56 | 显示全部楼层
本帖最后由 水木子 于 2009-9-13 10:47 编辑
例子不是已经很清楚了吗...GUICreate("My GUI menu", 300, 200)
$filemenu = GUICtrlCreateMenu("文件(&F)")
$MenuItem = GUICtrlCreateMenuItem("退出(&X)", $filemenu)
GUISetState()
While 1
        $nMsg  ...
afan 发表于 2009-9-13 10:34

还是前辈厉害哦!
随便问下,$MenuItem, -3应该怎么理解?
这里的 -3 = $GUI_EVENT_CLOSE ?
发表于 2009-9-13 10:45:05 | 显示全部楼层
那个 -3 就是 $GUI_EVENT_CLOSE 呵呵
发表于 2009-9-13 10:48:24 | 显示全部楼层
那个 -3 就是 $GUI_EVENT_CLOSE 呵呵
afan 发表于 2009-9-13 10:45


嗯!果然,我只是想知道为什么。
发表于 2009-9-13 10:50:23 | 显示全部楼层
那是固有的消息ID~
发表于 2009-9-13 10:53:17 | 显示全部楼层
哦!嗦德斯嘞,又涨了经验咯
发表于 2009-9-13 10:59:31 | 显示全部楼层
嗦德斯~~ 写-3还可以省去一个头文件 #include <GUIConstantsEx.au3> 呵呵
发表于 2009-9-13 11:11:16 | 显示全部楼层
嗦德斯~~ 写-3还可以省去一个头文件 #include  呵呵
afan 发表于 2009-9-13 10:59

嗯!学习了。
发表于 2009-9-13 12:16:51 | 显示全部楼层
Global Const $GUI_EVENT_CLOSE = -3

打开GUIConstantsEx.au3看看就知道了


我这不也是http://www.autoitx.com/forum.php ... id=7644076#pid88166
饿


系统事件

系统事件包括GUI(窗口)被关闭等在内,它们的值都是 负数.下面列出了各种系统事件(在 GUIConstantsEx.au3 中有定义):

$GUI_EVENT_CLOSE
$GUI_EVENT_MINIMIZE
$GUI_EVENT_RESTORE
$GUI_EVENT_MAXIMIZE
$GUI_EVENT_PRIMARYDOWN
$GUI_EVENT_PRIMARYUP
$GUI_EVENT_SECONDARYDOWN
$GUI_EVENT_SECONDARYUP
$GUI_EVENT_MOUSEMOVE
$GUI_EVENT_RESIZED
$GUI_EVENT_DROPPED
Global Const $GUI_EVENT_CLOSE = -3
Global Const $GUI_EVENT_MINIMIZE = -4
Global Const $GUI_EVENT_RESTORE = -5
Global Const $GUI_EVENT_MAXIMIZE = -6
Global Const $GUI_EVENT_PRIMARYDOWN = -7
Global Const $GUI_EVENT_PRIMARYUP = -8
Global Const $GUI_EVENT_SECONDARYDOWN = -9
Global Const $GUI_EVENT_SECONDARYUP = -10
Global Const $GUI_EVENT_MOUSEMOVE = -11
Global Const $GUI_EVENT_RESIZED = -12
Global Const $GUI_EVENT_DROPPED = -13
另:-1与-2
Global Const $GUI_BKCOLOR_DEFAULT = -1
Global Const $GUI_BKCOLOR_TRANSPARENT = -2
日语:嗦德斯。。。。。 居然这个可以这样写。。。。后面还得个lei吧................嗦德斯嘞 .............嗦德斯咧

评分

参与人数 1贡献 +1 收起 理由
afan + 1 嗦德斯~~~~

查看全部评分

发表于 2009-12-7 16:29:58 | 显示全部楼层
我来晚了!!!学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-8 22:04 , Processed in 0.086687 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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