BatMan22 Posted April 7, 2018 Share Posted April 7, 2018 Hey guys, I've the intro to my GUI below just so you would know what I have right now.. what I am wondering is it there's a way to change the left click behavior of the tray icon to activate the GUI. Right click having the normal menu is fine, or just right click to exit. I have seen plenty of examples of changing the tray icon functionality but don't know how to combine it with my current GUI.. I guess my question is if I have to setup OnEvent stuff or is there another way to do it that is easier? expandcollapse popup#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=Crome Icons\Google Black.ico #AutoIt3Wrapper_Res_Fileversion=0.0.0.186 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y #AutoIt3Wrapper_Run_Stop_OnError=y #AutoIt3Wrapper_Run_Tidy=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "UIAWrappers.au3" #include <Array.au3> #include <Excel.au3> #include <MsgBoxConstants.au3> #include <File.au3> #include <ButtonConstants.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <Clipboard.au3> #include <ComboConstants.au3> #include <sqlite.au3> #include "C:\Users\x\Documents\SampleDueSheetExports\Sorter.au3" #include "CUIAutomation2.au3" #include <GuiImageList.au3> #include <GuiListView.au3> #include <Misc.au3> ;~ Opt("TrayIconDebug", 1) Global $g_hListView, $chosenone Global $sIDBP[1] = ["SampleID's"] Global $chosen = 0 ;~ #AutoIt3Wrapper_UseX64=Y ;Should be used for stuff like tagpoint having right struct etc. when running on a 64 bits os ;~ ############################################# COMPILE IN 32bitONLY -- SQL Sort Breaks x64bit Compiling! ################################################# Global $vRemoteDir = "\\public\MacroShare\" ;Remote Directory for saving of Loader Files Global $TestCodesForPrepBatch[12] = ["", "PR218.6_W", "PR218.6_DW", "PR300.0_S", "PRCr6LL_TTLC", "PR314_W", "PRSULFITE300_W", "PR300.1SPE_W", "PR218.7_W", "PR300.1LL_W", "PRCR6_N7605", "PRSulfite300_S"] Global $WhichMachine = "0" ; Assign Dummy Value Global $sFileName = $vRemoteDir & "IC3.txt" ; FileToWorkOn #Region ### START Koda GUI section ### Form=c:\users\x\documents\sampleduesheetexports\omegahelper.kxf $Form1_1 = GUICreate("OmegaHelper", 221, 361, 200, 124) $Button1 = GUICtrlCreateButton("Load All Samples from Due Sheet", 8, 8, 209, 41) $Button2 = GUICtrlCreateButton("Sample Due Sheet", 8, 56, 209, 41) $Button3 = GUICtrlCreateButton("CLEAR ALL LISTS!", 8, 104, 209, 41) $Button4 = GUICtrlCreateButton("Prep Batch Loader", 8, 152, 209, 41) $Button5 = GUICtrlCreateButton("Go to Prep Batch", 8, 232, 209, 41) $Button6 = GUICtrlCreateButton("Make New Prep Batch", 8, 280, 209, 41) $Combo1 = GUICtrlCreateCombo("PR300.1_W", 8, 200, 209, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) For $i = 1 To UBound($TestCodesForPrepBatch) - 1 GUICtrlSetData($Combo1, $TestCodesForPrepBatch[$i]) Next $Button7 = GUICtrlCreateButton("Source", 8, 328, 41, 25) $Button8 = GUICtrlCreateButton(".txt Files", 56, 328, 49, 25) $Button9 = GUICtrlCreateButton("LaunchLims", 112, 328, 49, 25) $Button10 = GUICtrlCreateButton("TEST", 168, 328, 49, 25) $pos = WinGetPos($Form1_1) WinMove($Form1_1, "", @DesktopWidth - $pos[2], @DesktopHeight - $pos[3] - 30) ;30 = START task/tray menu GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Isitrunning() ; First - Checks to see if LIMS is running, goes to main screen if it is. GoToSampleDueSheet() ;Second - Get to SampleDueSheet SaveList() ; Save Sheet for Excel - Save List From SampleDueSheet ExcelLoadAndSum() ; Load the Data From Columns One and Two and Display Both ConsoleWrite(@CRLF & "Close Crap") AddAllTestCodes() ConsoleWrite(@CRLF & "Add All TestCodes") Knownornot() ConsoleWrite(@CRLF & "Known Or Not") Addtolistifknownfunction() ConsoleWrite(@CRLF & "Add to list if known") FindAndReplace("<", "", $sFileName) ; Change First Two Patterns to go go! FindAndReplace(">", "", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("; ", "/", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("NO3/NO3_1/", "NO3/", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("NO2/NO2_1/", "NO2/", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("NO2_1/", "NO2/", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("NO3_1/", "NO3/", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("PO4_1/", "PO4/", $sFileName) ; Change First Two Patterns to go go! FindAndReplace("PO4/PO4/", "PO4/", $sFileName) FindAndReplace("NO3/NO2/", "N/N/", $sFileName) FindAndReplace("Br/Cl/F/N/N/PO4/SO4", "ALL7", $sFileName) ; Change First Two Patterns to go go! ConsoleWrite(@CRLF & "FindAndReplace") ProcessAndCleanFiles($vRemoteDir & "IC3.txt") ConsoleWrite(@CRLF & "Process Cleaning") SortEverything() ConsoleWrite(@CRLF & "Sort") CheckForDupsOnlyLookingAtSampleID("3") ConsoleWrite(@CRLF & "Dup And Clean") TrayTip("Samples Loaded", "Samples Loaded From Due Sheet!", 5) WinActivate("OmegaHelper") Case $Button2 ; Go To Sample Due Sheet Isitrunning() GoToSampleDueSheet() TrayTip("Sample Sheet Loaded", "Samples Sheet Loaded!", 5) Sleep(100) WinWait("OmegaHelper") WinActivate("OmegaHelper") Case $Button3 ; Clear My Files ClearAllMyFiles() TrayTip("Files Cleared", "Files Cleared", 5) Case $Button4 ; Prep Batch Loader Isitrunning() AddAllTestCodes() LoadPrepBatchOnly() SortEverything() TrayTip("Prep Batch Loaded!", "Batch Loaded!", 5) WinActivate("OmegaHelper") Case $Button5 ; Go to prep batch but don't load Isitrunning() $PrepBatchForMe = GUICtrlRead($Combo1) Gotopreponly($PrepBatchForMe) TrayTip("Ready to load prep batch", "Ready to load prep batch", 5) WinActivate("OmegaHelper") Case $Button6 ; Open New Batch Isitrunning() $PrepBatchForMe = GUICtrlRead($Combo1) PrepBatch($PrepBatchForMe) TrayTip("New Batch Loaded!", "New Batch Loaded: " & $PrepBatchForMe, 5) LoadMyMSMSD() WinActivate("OmegaHelper") Case $Button7 ; Open IC Test Files Run("Explorer.exe " & "C:\Users\Ash\Documents\SampleDueSheetExports\SampleDueLoader.au3") WinActivate("OmegaHelper") Case $Button8 ; Launch Source Code Run("Explorer.exe " & "X:\MacroShare") WinActivate("OmegaHelper") Case $Button9 Isitrunning() WinActivate("OmegaHelper") Case $Button10 ;For Testing Mainly. LoadMyMSMSD() EndSwitch WEnd Link to comment Share on other sites More sharing options...
corz Posted April 7, 2018 Share Posted April 7, 2018 Check the help file for AutoItSetOption(). Start with "TrayMenuMode". ;o) Cor nothing is foolproof to the sufficiently talented fool.. Link to comment Share on other sites More sharing options...
BatMan22 Posted April 7, 2018 Author Share Posted April 7, 2018 16 minutes ago, corz said: Check the help file for AutoItSetOption(). Start with "TrayMenuMode". ;o) Cor Yeah.. I actually understand what commands to use.. but when I set those up.. my GUI doesn't run, but they tray icon acts like I want it to? Soo.. I guess I'm just using it wrong but that's why I posted.. I don't understand how to mix tray interactions and gui's.. my program has multiple GUI's too (it switches between them). Link to comment Share on other sites More sharing options...
kylomas Posted April 7, 2018 Share Posted April 7, 2018 BatMan22, Look at TraySetOnEvent ($TRAY_EVENT_PRIMARYDOWN) in the Help file. kylomas BatMan22 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
corz Posted April 7, 2018 Share Posted April 7, 2018 Ahh.. TraySetClick(). That's the one I was thinking of. ;o) Cor nothing is foolproof to the sufficiently talented fool.. Link to comment Share on other sites More sharing options...
BatMan22 Posted April 10, 2018 Author Share Posted April 10, 2018 On 4/6/2018 at 9:05 PM, kylomas said: BatMan22, Look at TraySetOnEvent ($TRAY_EVENT_PRIMARYDOWN) in the Help file. kylomas Genius! Thank you, that's exactly what I needed, TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent"). 15 minutes total fix. Link to comment Share on other sites More sharing options...
BatMan22 Posted April 10, 2018 Author Share Posted April 10, 2018 On 4/6/2018 at 9:12 PM, corz said: Ahh.. TraySetClick(). That's the one I was thinking of. ;o) Cor ty for the help buddy, I think TraySetOnEvent is the lazy/easy fix I was looking for. 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