找回密码
 加入
搜索
查看: 4609|回复: 18

[已解决]GUI函数功能请教

[复制链接]
发表于 2009-3-26 17:49:51 | 显示全部楼层 |阅读模式
有这么几个功能请教下!
一:在GUI上面,当点击一个按钮,比如“配置”,本身窗口就隐藏,弹出另外一个GUI界面退出后这个又关了,还原主窗口
二:或者点击这个按钮后,在本身GUI界面下,显示连接到的GUI,再点下又关了,如图
不知道这二个是用什么方法或函数做到的,请教下!
三:有的程序打开是灰色的,在上面添加了一个输入密码后才开启这功能!
以上都是成品中看到的,没原码不知道怎么做的

[ 本帖最后由 jycel 于 2009-3-28 09:38 编辑 ]

本帖子中包含更多资源

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

×
发表于 2009-3-26 19:23:36 | 显示全部楼层
原程序发上来看看.......
 楼主| 发表于 2009-3-26 20:03:00 | 显示全部楼层
发表于 2009-3-26 20:31:53 | 显示全部楼层
这只是在两个GUI间的“@SW_HIDE” 和 “@SW_SHOW” 交替切换。
http://www.autoitx.com/forum.php?mod=viewthread&tid=6001&page=1&fromuid=224#pid40524
 楼主| 发表于 2009-3-26 21:29:38 | 显示全部楼层
我试过用“@SW_HIDE” 和 “@SW_SHOW”但没有成功过!能不能给个例子?谢谢!
发表于 2009-3-26 21:32:59 | 显示全部楼层

回复 5# jycel 的帖子

肯定可以成功。
 楼主| 发表于 2009-3-27 10:40:19 | 显示全部楼层
请问这是二个独立的GUI吗?我设置了当按这个键时,隐藏本窗口,显示须要打开的,但没反应!
发表于 2009-3-27 15:49:47 | 显示全部楼层
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$GuiMain = GUICreate("父窗口", 253, 193, 192, 124)
$Button1 = GUICtrlCreateButton("关闭本窗口,显示子窗口", 33, 128, 165, 25, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUISetState(@SW_HIDE,$GuiMain)
        $GUI_About = GUICreate("子窗口", 253, 193, -1, -1)
        $But_OK = GUICtrlCreateButton("关闭本窗口,显示交窗口", 33, 128, 165, 25, 0)
        GUISetState(@SW_SHOW)
        While 1
                $Msg_about = GUIGetMsg()
                Select
                        Case $Msg_about = $gui_event_close Or $Msg_about = $But_OK
                                GUIDelete($GUI_About)
                                GUISetState(@SW_SHOW,$GuiMain)
                                GUISetState(@SW_ENABLE, $GuiMain)
                                ExitLoop
                EndSelect
        WEnd
EndSwitch
WEnd
 楼主| 发表于 2009-3-27 16:51:39 | 显示全部楼层
已经掌握了!但这只限于同一脚本中,如果说有1.au3、2.au3……假如1.au3是我的主程序,后面的为各各小功能的吧!从1.au3中启动其它的AU3脚本行吗?代码太多全写在一个脚本中,有时会发生冲突,也不好管理!就像在分页函数例子中,只要用到函数GUICtrlIpAddress_Create它就会在每个页面都会显示,无法显示其它页时隐藏,好像不支持!
 楼主| 发表于 2009-3-27 17:19:46 | 显示全部楼层
试了下,把脚本译成EXE后,在对应按钮时加
 ShellExecute("维护工具.exe","",@ScriptDir)
Exit

在第二个脚本中也同样,

 ShellExecute("主程序.exe","",@ScriptDir)
Exit
发表于 2009-3-27 18:07:29 | 显示全部楼层

回复 8# juyz 的帖子

多窗口建议用OnEvent模式。。。
 楼主| 发表于 2009-3-27 18:42:41 | 显示全部楼层
原帖由 sanhen 于 2009-3-27 18:07 发表
多窗口建议用OnEvent模式。。。

我学的时候就一直用onevent模式
发表于 2009-3-27 18:51:26 | 显示全部楼层
http://www.autoitx.com/forum.php ... &extra=page%3D2
另外,如果功能较多,代码较复杂,建议楼主把函数分成片,再用Include引用.
 楼主| 发表于 2009-3-27 18:55:39 | 显示全部楼层
原帖由 漠北雪~狼 于 2009-3-27 18:51 发表
http://www.autoitx.com/forum.php ... &extra=page%3D2
另外,如果功能较多,代码较复杂,建议楼主把函数分成片,再用Include引用.

引用,就像UDF函数一样吗?UDF现在还不懂,不知道怎么引用,所以我现在是把它分成几个脚本,要用的都从主程序去开启!
发表于 2009-3-28 02:51:25 | 显示全部楼层

做了个例子,但并不能说明全部的问题,问题在于:楼主你还需要慢慢的、更多的去看(看懂)帮助文档。

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 14:06 , Processed in 0.090878 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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