Jump to content
BatMan22

Tray Question

Recommended Posts

BatMan22

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?

 

 

#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

Share this post


Link to post
Share on other sites
corz

Check the help file for AutoItSetOption(). Start with "TrayMenuMode".

;o) Cor


nothing is foolproof to the sufficiently talented fool..

Share this post


Link to post
Share on other sites
BatMan22
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).

Share this post


Link to post
Share on other sites
kylomas

BatMan22,

Look at TraySetOnEvent ($TRAY_EVENT_PRIMARYDOWN) in the Help file.

kylomas

  • Like 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

Share this post


Link to post
Share on other sites
corz

Ahh.. TraySetClick(). That's the one I was thinking of.

;o) Cor


nothing is foolproof to the sufficiently talented fool..

Share this post


Link to post
Share on other sites
BatMan22
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. 

Share this post


Link to post
Share on other sites
BatMan22
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.  

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×