hiho,
ich bin dabei ein tray-menü zu basteln, das zw links und rechtsklick unterscheidet, nachdem ich den tip hier gelesen habe.
das "besondere" soll sein, das beim rechtsklick ein menü kommt, beim linksklick ein fenster ein/ausgeblendet wird.
das ganze funzt auch schon recht gut, doch leider funktioniert das ein-/ausblenden immer nur, nachdem nochmal ein rechtsklick durchgeführt wurde. ich weiß grad nicht warum oO
[autoit]#Include <GuiConstants.au3>
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Opt("GuiOnEventMode",1)
Opt("TrayIconHide", 0)
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",1)
Global $writer
[/autoit][autoit][/autoit][autoit]TraySetClick(18)
Global $state = 2, $trayexit
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "TrayMenuLeftClick")
TraySetOnEvent($TRAY_EVENT_SECONDARYDOWN, "TrayMenuRightClick")
$writer = GUICreate("WRiTeR", 250, 400, @DesktopWidth - 270, @DesktopHeight - 430, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW )
WinSetOnTop($writer,'',1)
WinSetTrans($writer,'', 100)
GUICtrlCreateEdit("", 5, 5, 240, 390)
GUISetState(@SW_SHOW, $writer)
While 1
Sleep(100)
WEnd
Func _TrayExit()
Exit
EndFunc
Func TrayMenuRightClick()
If $state = 1 Or $state = 2 Then
$state = 0
$trayexit = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1,"_TrayExit")
EndIf
EndFunc
Func TrayMenuLeftClick()
If $state = 0 Or $state = 2 Then
$state = 1
TrayItemDelete($trayexit)
$winstate = WinGetState($writer,'')
If BitAnd($winstate, 2) Then
WinSetState($writer,'',@SW_HIDE)
Else
WinSetState($writer,'',@SW_SHOW)
EndIf
EndIf
EndFunc