找回密码
 加入
搜索
查看: 3062|回复: 4

[GUI管理] 关于托盘的菜单对应多窗体的问题

[复制链接]
发表于 2012-5-9 17:53:16 | 显示全部楼层 |阅读模式
托盘中的每一个菜单,都对应一个窗体($Form)。每点击一个菜单时,打开对应的窗体,请教高手下面的代码要怎么改?或给个其它的办法。。。。
Opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode",1)
Opt("TrayAutoPause",0) 
Opt("TrayMenuMode",1)

;双击显示界面, 右击打开菜单
TraySetClick(12)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"_TrayEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYDOWN,"_TrayEvent")
$TrayItem1  = TrayCreateItem("窗体1")
TrayCreateItem("")
$TrayItem2  = TrayCreateItem("窗体2")
TrayCreateItem("")
$Exit  = TrayCreateItem("退出")
TrayItemSetOnEvent(-1,"_TrayEvent")
TraySetState()

#Region ### START Koda GUI section ### Form=Hsy_Shop.kxf
$Form1 = GUICreate("窗体1", 282, 162, 366, 349, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
GUISetState(@SW_HIDE, $Form1)

$Form2 = GUICreate("窗体2", 369, 169, 313, 245, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
GUISetState(@SW_HIDE, $Form2)
#EndRegion ### END Koda GUI section ###


While 1
        Sleep(100)
WEnd

;_TrayEvent
Func _TrayEvent()
        Switch @TRAY_ID
                Case $TrayItem1
                        GUISetState(@SW_SHOW, $Form1)
                Case $TrayItem2
                        GUISetState(@SW_SHOW, $Form2)
                Case $Exit
                        _Exit()
        EndSwitch        
EndFunc

;_GUIEvent
Func _GUIEvent()        
EndFunc
发表于 2012-5-9 22:01:16 | 显示全部楼层
TrayItemSetOnEvent
发表于 2012-5-9 22:03:58 | 显示全部楼层
#include <Constants.au3>;;;;;;;
#include <WindowsConstants.au3> ;;;;;;;


Opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode",1)
Opt("TrayAutoPause",0)
Opt("TrayMenuMode",1)

;双击显示界面, 右击打开菜单
TraySetClick(12)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"_TrayEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYDOWN,"_TrayEvent")
$TrayItem1  = TrayCreateItem("窗体1")
TrayItemSetOnEvent($TrayItem1,"TrayItem1_Clicked");;;;;;;
TrayCreateItem("")
$TrayItem2  = TrayCreateItem("窗体2")
TrayItemSetOnEvent($TrayItem2,"TrayItem2_Clicked");;;;;;;
TrayCreateItem("")
$Exit  = TrayCreateItem("退出")
TrayItemSetOnEvent(-1,"_TrayEvent")
TraySetState()

#Region ### START Koda GUI section ### Form=Hsy_Shop.kxf
$Form1 = GUICreate("窗体1", 282, 162, 366, 349, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
GUISetState(@SW_HIDE, $Form1)

$Form2 = GUICreate("窗体2", 369, 169, 313, 245, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
GUISetState(@SW_HIDE, $Form2)
#EndRegion ### END Koda GUI section ###


While 1
        Sleep(100)
WEnd

;_TrayEvent
Func _TrayEvent()
        Switch @TRAY_ID
                Case $TrayItem1
                        GUISetState(@SW_SHOW, $Form1)
                Case $TrayItem2
                        GUISetState(@SW_SHOW, $Form2)
                Case $Exit
                        Exit;;;;;
        EndSwitch        
EndFunc

;_GUIEvent
Func _GUIEvent()
       
EndFunc

Func TrayItem1_Clicked();;;;;;;;;;;;;
        GUISetState(@SW_SHOW, $Form1)
        GUISetState(@SW_HIDE, $Form2)
EndFunc

Func TrayItem2_Clicked();;;;;;;;;;;;;;
        GUISetState(@SW_HIDE, $Form1)
        GUISetState(@SW_SHOW, $Form2)
EndFunc
 楼主| 发表于 2012-5-10 03:59:04 | 显示全部楼层
谢楼上的,思考太多头脑发热,竟忘记注册点击事件了。。。
发表于 2012-6-8 01:04:42 | 显示全部楼层
用托盘的不多呵呵
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-28 10:48 , Processed in 0.071142 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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