找回密码
 加入
搜索
查看: 2204|回复: 5

GUI的设计

[复制链接]
发表于 2009-2-22 17:01:08 | 显示全部楼层 |阅读模式
才学AU3,菜鸟一个
想做一个开机启动后,跳出一窗口(尽量能精美点)
先出现form1_1,当form1_1启动后,设置个10秒的时间,由form1_1里的Progress1控制,
就是慢慢跑到100%
这个时候,form1_1消失,form1出现。

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

Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=c:\documents and settings\administrator\桌面\form1.kxf
$Form1_1 = GUICreate("Form1", 561, 142, -1, -1, $WS_POPUP)
GUISetBkColor(0x008000)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1_1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1_1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1_1Restore")
$Label1 = GUICtrlCreateLabel("緑緣網吧歡迎您", 72, 8, 427, 68)
GUICtrlSetFont(-1, 48, 800, 0, "仿宋_GB2312")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetOnEvent(-1, "Label1Click")
$Label2 = GUICtrlCreateLabel("技ポ支持:497989234(慕傛) ", 136, 88, 278, 23)
GUICtrlSetFont(-1, 14, 800, 0, "楷体_GB2312")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetOnEvent(-1, "Label2Click")
$Progress1 = GUICtrlCreateProgress(0, 120, 558, 17, BitOR($PBS_MARQUEE,$WS_BORDER,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
Sleep(100)
WEnd

Func Form1_1Close()
        $Form1 = GUICreate("Form1", 633, 446, 192, 124)
        GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
        GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
        GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
        GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
        GUISetState(@SW_SHOW)

EndFunc

Func Form1_1Restore()

EndFunc

但是我这么写,却并不能实现这个功能,有达人吗,
帮我实现这个功能好吗
顺便给我讲解下。
 楼主| 发表于 2009-2-22 17:04:57 | 显示全部楼层
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1_1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1_1Maximize")
GUICtrlSetOnEvent(-1, "Label2Click")
GUICtrlSetOnEvent(-1, "Label2Click")
在执行的时候
上面四个函数估计是么定义,会显示错误,删除就行
 楼主| 发表于 2009-2-22 17:06:35 | 显示全部楼层
窗口的初始化函数和关闭函数是不是由自己定义的
而不是au3里面本身就包含有这个函数,
窗口关闭以及初始化或者缩小放大等用au3控制的话
是不是只是通过消息来控制以及判断?
发表于 2009-2-22 23:24:48 | 显示全部楼层
那个是koda在你选中了 为所有控件生成事件 后  为你写好的 各个事件

当你没有写那些事件的自定义函数时 会报错
 楼主| 发表于 2009-2-23 10:43:00 | 显示全部楼层
闷  这个我知道呢。
我的意思怎末用progressbar来控制时间
当到了100%的时候 关闭窗口1 并且窗口2
发表于 2009-2-23 23:46:40 | 显示全部楼层
那个术 我说怎么这么奇怪 汗
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=c:\documents and settings\administrator\桌面\form1.kxf
$Form1_1 = GUICreate("Form1", 561, 142, -1, -1, $WS_POPUP)
GUISetBkColor(0x008000)
$Label1 = GUICtrlCreateLabel("緑緣網吧歡迎您", 72, 8, 427, 68)
GUICtrlSetFont(-1, 48, 800, 0, "仿宋_GB2312")
GUICtrlSetColor(-1, 0x000080)
$Label2 = GUICtrlCreateLabel("技ポ支持:497989234(慕傛) ", 136, 88, 278, 23)
GUICtrlSetFont(-1, 14, 800, 0, "楷体_GB2312")
GUICtrlSetColor(-1, 0x000080)
$Progress1 = GUICtrlCreateProgress(0, 120, 558, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

For $I = 1 To 10
        GUICtrlSetData($Progress1, $I & "0")
        Sleep(1000)
Next

GUIDelete($Form1_1)
$Form1 = GUICreate("Form1", 633, 446, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetState(@SW_SHOW)

While 1
        Sleep(100)
WEnd

Func Form1Close()
Exit

EndFunc   ;==>Form1Close


[ 本帖最后由 sxd 于 2009-2-23 23:48 编辑 ]
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 22:01 , Processed in 0.075369 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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