Vegar Posted January 3, 2009 Share Posted January 3, 2009 Hello i'm trying to run with: Opt("GUIOnEventMode", 1) and Opt("TrayOnEventMode",1) why does the GUI_EVENT_..... and TRAY_EVENT..... stuff stop working? help plz Link to comment Share on other sites More sharing options...
Achilles Posted January 3, 2009 Share Posted January 3, 2009 (edited) You coded your code wrong. Edit: I'm guessing you don't even understand what OnEvent mode is supposed to do... Try looking at the example in the helpfile. Having event mode means you can't have a loop with GUIGetMsg() or trayGetMsg(). The event automatically calls a function. Edit 2: Assuming you have some idea of that.. make sure you use GUICtrlSetOnEvent for controls, and GUISetOnEvent for GUI events. Same for tray. Note the lack and use of CTRL in the function name. Edited January 3, 2009 by Ichigo My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list] Link to comment Share on other sites More sharing options...
Vegar Posted January 3, 2009 Author Share Posted January 3, 2009 ok, i'l try... :S Link to comment Share on other sites More sharing options...
Achilles Posted January 3, 2009 Share Posted January 3, 2009 ok, i'l try... :SMy first reply: "You coded your code wrong" was a vague implication that you should post your code when you ask questions about your code. So, if you want better help, try posting your code. My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list] Link to comment Share on other sites More sharing options...
rasim Posted January 3, 2009 Share Posted January 3, 2009 Helloi'm trying to run with:Opt("GUIOnEventMode", 1)andOpt("TrayOnEventMode",1)why does the GUI_EVENT_..... and TRAY_EVENT..... stuff stop working?help plz Can you make a small example to duplicate the problem? Link to comment Share on other sites More sharing options...
Vegar Posted January 3, 2009 Author Share Posted January 3, 2009 Evrything of the "GUI_EVENT...." things work, but not the "TRAY_EVENT...."... the thing in the script is suposed to do is when i push the Minimize button the script minimizes to tray, and when i click on the tray icon the program restores and the icon disappears... but that does not work... (evrything else works.) Here is the code: expandcollapse popup#NoTrayIcon #include <GuiConstants.au3> #include <Constants.au3> #include <Misc.au3> $itimerdiff = TimerInit() Opt("GUIOnEventMode", 1) Opt("TrayOnEventMode",1) Opt("TrayMenuMode",1) GuiCreate("Statistikk", 150, 200) TraySetOnEvent($TRAY_EVENT_PRIMARYUP,"SpecialEvent") $Knapp_Total_Running_time = GuiCtrlCreateButton("Total Running Time", 15, 10, 120, 30) GUICtrlSetOnEvent (-1,"RunningTime") $V_Museklikk = GUICtrlCreateLabel(" Venstre Museklikk", 15, 60, 120, 30) $H_Museklikk = GUICtrlCreatelabel(" Høyre Museklikk", 15, 80, 120, 30) GuiSetState() $clicksV = 0 $clicksH = 0 While 1 $msg = GuiGetMsg() Select Case $msg = $GUI_EVENT_MINIMIZE GuiSetState(@SW_HIDE) TraySetState(1); show TraySetToolTip ("Click To Restore") Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect ;----------------------Venstreklikk If _IsPressed("01", "user32.dll") Then while _IsPressed("01","user32.dll") sleep(1) WEnd $clicksV = $clicksV + 1 GUICtrlSetData($V_Museklikk, " Venstreklikk = " & $clicksV) EndIf ;------------------------Høyrklikk If _IsPressed("02", "user32.dll") Then while _IsPressed("02","user32.dll") sleep(1) WEnd $clicksH = $clicksH + 1 GUICtrlSetData($H_Museklikk, " Høyreklikk = " & $clicksH) EndIf WEnd ;------------------------RunningTime Func RunningTime () MsgBox(0, "Running Time", _TimerFormat(TimerDiff($itimerdiff))) EndFunc ;------------------------TimerFormat Func _TimerFormat($iTimerDiff) $iTimerDiff = Floor($iTimerDiff / 1000) Local $iSEC = Mod($iTimerDiff, 60) $iTimerDiff = Floor($iTimerDiff / 60) Local $iMIN = Mod($iTimerDiff, 60) $iTimerDiff = Floor($iTimerDiff / 60) Local $iHOUR = Mod($iTimerDiff, 999999999999) $iTimerDiff = Floor($iTimerDiff / 9999999999) Return StringFormat(" %.2d Hours "&@LF&" %.2d Minutes "&@LF&" %.2d Seconds", $iHOUR, $iMIN, $iSEC) EndFunc Func SpecialEvent() GuiSetState(@SW_Show) TraySetState(2); hide EndFunc Link to comment Share on other sites More sharing options...
Achilles Posted January 3, 2009 Share Posted January 3, 2009 In your main loop you have GUIGetMsg(). That does NOT work with onevent mode. Try using GUISetOnEvent($GUI_EVENT_MINIMIZE, '_Minimize') and GUISetOnEvent($GUI_EVENT_CLOSE, '_Exit') You'll have to create an _Exit function and a _Minimize function... My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list] Link to comment Share on other sites More sharing options...
Vegar Posted January 3, 2009 Author Share Posted January 3, 2009 (edited) Thnx, got that to work.. but got into another problem... i tried to add some "TrayCreateItem"s to the script according to the help file but nothing of it will work!? $prefsitem = TrayCreateItem("Preferences") TrayCreateItem("") $aboutitem = TrayCreateItem("About") TrayCreateItem("") $exititem = TrayCreateItem("Exit") TraySetState() While 1 $msg = TrayGetMsg() Select Case $msg = 0 ContinueLoop Case $msg = $prefsitem Msgbox(64, "Preferences:", "OS:" & @OSVersion) Case $msg = $aboutitem Msgbox(64, "About:", "AutoIt3-Tray-sample.") Case $msg = $exititem Exit EndSelect WEnd i see the "Preferences"/"About"/"Exit" item when i right click on the icon in tray, but nothing happens when i click on eny of them Edited January 3, 2009 by Vegar Link to comment Share on other sites More sharing options...
Achilles Posted January 4, 2009 Share Posted January 4, 2009 Once again, you've programming that all for not being OnEvent mode. Use something like this: TrayItemSetOnEvent($prefsitem, '_Preferences') And then let you _Preferences function show the msgbox that you have in the loop right now. Take out everything in your loop because right now it NOT based of OnEvent mode. Or you could just take out the Opt('TrayOnEventmode', 1) My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list] Link to comment Share on other sites More sharing options...
Vegar Posted January 4, 2009 Author Share Posted January 4, 2009 thnx ... got that as well to work but one more thing, when i have minimized the GUI-window to TRAY, and i click (leftclick) on the trayicon to open it all the "TrayCreateItem"s pop up,... is not them just supose to pop up if you rightclick the trayicon?? Link to comment Share on other sites More sharing options...
Achilles Posted January 4, 2009 Share Posted January 4, 2009 Look At TraySetClick My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list] Link to comment Share on other sites More sharing options...
Vegar Posted January 4, 2009 Author Share Posted January 4, 2009 Thnx Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now