Jump to content
Melba23

How to make Toast - New version 2 Aug 18

Recommended Posts

For those who use the full version of SciTe and wish for the following commands to show in the command popup box, I have created entries for <au3.user.calltips.api> and <au3.userudfs.properties> (Located in the api and properties folders)

All I had to do with this UDF is simple copy and paste what was already in the comments of the functions.

Add the following to <au3.user.calltips.api>

_Toast_Set($vJust, [$iHdr_BkCol, [$iHdr_Col, [$iMsg_BkCol, [$iMsg_Col, [$sFont_Size, [$iFont_Name]]]]]]) Sets text justification and optionally colours and font, for _Toast_Show function calls (Requires: #Include <Toast.au3>)
_Toast_Show($vIcon, $sTitle, $sMessage, [$iDelay [, $fWait [, $fRaw]]]) Shows a slice message from the systray (Requires: #Include <Toast.au3>)
_Toast_Hide() Hides a slice message from the systray (Requires: #Include <Toast.au3>)

Add the following to <au3.userudfs.properties>

au3.keywords.user.udfs=_toast_hide _toast_set _toast_show

The UDF is very helpful...Thanks!


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites

Deathbringer,

You will be unsurprised to learn that it does not crash for me! :graduated:

Could you please add the following line immediately before line 57 which causes the error and let me know what the MsgBox says:

MsgBox(0,"Return value", "Return value: " & $aRet & @CRLF & "Error value: " & @error)

M23

Edit:

My bet is Return -1, Error 4.

If that is indeed the case, what is your screen resolution (width in particular)?

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Deathbringer,

Hah! The crystal ball is working well tonight! :D

That particular Toast is using the "Raw" parameter to prevent line wrapping. Basically the line it is trying to write is too long for your screen - which is what the error tells you. If you look in the function header within Toast.au3 you will see it listed:

;                  Failure: Returns -1 and sets @error as follows:
;                           1 = Toast GUI creation failed
;                           2 = Taskbar not found
;                           4 = When using Raw, the Toast is too wide for the display

The solution - shorten the text in Lines 51-53 until it does work. The text itself does tell you that it might happen. :graduated:

Or, of course, buy a bigger screen (I am running at 1680 x 1050). :D

Sorry that you found a problem with the example for the UDF - no-one has complained about that particular bit before! :(

M23

Edit: Typnig!

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

_WinAPI_FreeObject(): undefined function.

Hmm...?

WinApiEx.au3 is included, without this cleaning-resources function -> works great (very nice work!) :]

Share this post


Link to post
Share on other sites

4ggr35510n,

works great (very nice work!)

While I am happy to accept the plaudits, are you sure you have posted in the right topic? ;)

There is no _WinAPI_FreeObject call in any of the files in the Toast download and WinApiEx.au3 is certainly not included. :)

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

4ggr35510n,

I understand now. ;)

But please note that I have stated in the first post of this topic:

There are now 3 versions of this UDF available in this topic

1. The original version in this post.

2. A version which can produce a colour gradient in the titlebar - you will need Yasheid's WinAPIEx UDF.

[...]

As my original intention was to offer code which did not require additional UDFs, I am only seriously supporting the original version.

So I hope you will realise why I was confused - although it is not that difficult to do. :D

But I am happy to amend that specific post if necessary. Looks like it should be _WinAPI_DeleteObject instead - do you agree?

Checked back into the WinAPIEx history - Yashied changed the function here - just use _WinAPI_DeleteObject instead. I have amended the post above - thanks for pointing it out. :idiot:

M23

Edit: Brain failure while dropping in from decorating the spare bedroom! :) See edit above for final result. :idiot:

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Is there an error resetting "Toast" colours to Default?

My System colours: Black, White, White, Black (Colours at first Toast_Example.au3 "Toast")

after trying to reset partially at my own script

...
_Toast_Set(4, 0x00FF00, 0x000000, Default, Default)
...

it changes to Green, Black, Black, Black :unsure: instead of Green, Black, White, Black

(Win7 x64)

Edited by minimax

Share this post


Link to post
Share on other sites

minimax,

Is there an error resetting "Toast" colours to Default?

You are the first to report one. :>

I wonder if it is anything to do with your x64 system? Could you please run the following and let me know what is written in the SciTE console:

#include "Toast.au3"

ConsoleWrite("Col: " & Hex($iToast_Message_Col, 6) & @CRLF)
ConsoleWrite("BkCol: " & Hex($iToast_Message_BkCol, 6) & @CRLF)

Thanks in advance. :unsure:

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

let me know what is written in the SciTE console

>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\minimax\Desktop\test.au3"
Col: 000000
BkCol: FFFFFF
>Exit code: 0    Time: 0.446

Share this post


Link to post
Share on other sites

minimax,

That is what I get too - and the same API calls are used to set the Default values when you reset. So I do not see at the moment what is going wrong. :unsure:

Could you run this please:

#include "Toast.au3"

ConsoleWrite("Col: " & Hex($iToast_Message_Col, 6) & @CRLF)
ConsoleWrite("BkCol: " & Hex($iToast_Message_BkCol, 6) & @CRLF)

_Toast_Set(0, 0xFF0000, 0x00FF00, Default, Default)

ConsoleWrite("Col: " & Hex($iToast_Message_Col, 6) & @CRLF)
ConsoleWrite("BkCol: " & Hex($iToast_Message_BkCol, 6) & @CRLF)

I get the same values after the reset as before - let us see what you get. :>

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

let us see what you get.

>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\minimax\Desktop\test2.au3"
Col: 000000
BkCol: FFFFFF
Col: 000000
BkCol: 000000
>Exit code: 0    Time: 0.243

BTW:

Doing this

#include "Toast.au3" 
ConsoleWrite("Col: " & Hex($iToast_Message_Col, 6) & @CRLF) 
ConsoleWrite("BkCol: " & Hex($iToast_Message_BkCol, 6) & @CRLF)
_Toast_Set(1, 0xFF0000, 0x00FF00, 0xFF0000, 0x00FF00);change first (just to be sure)
_Toast_Set(Default);reset completely
_Toast_Set(0, 0xFF0000, 0x00FF00)
ConsoleWrite("Col: " & Hex($iToast_Message_Col, 6) & @CRLF) 
ConsoleWrite("BkCol: " & Hex($iToast_Message_BkCol, 6) & @CRLF)

i got correctly

>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\minimax\Desktop\test3.au3"
Col: 000000
BkCol: FFFFFF
Col: 000000
BkCol: FFFFFF
>Exit code: 0    Time: 0.277

And, after a closer look, Code snippets from "Toast.au3":

Func _Toast_Set...
...
    Switch $iMsg_BkCol
        Case Default
            $aRet = DllCall("User32.dll", "int", "GetSysColor", "int", 8) ; $COLOR_WINDOWTEXT = 8
            $iToast_Message_BkCol  = $aRet[0]
...
    Switch $iMsg_Col
        Case Default
            $aRet = DllCall("User32.dll", "int", "GetSysColor", "int", 8) ; $COLOR_WINDOWTEXT = 8
            $iToast_Message_Col  = $aRet[0]
...

I get the same values after the reset as before

:unsure: With the "Toast.au3" code from your Post #1, are you sure?

Share this post


Link to post
Share on other sites

minimax,

With the "Toast.au3" code from your Post #1, are you sure?

My own Include version has them the right way round! So how did that error go so long without anyone noticing? :unsure:

Corrected UDF and zip now in the first post. Thank you very much for that - amazing how these things happen! :>

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Hey friends,

first of all this is a very cool UDF and suits what I am trying to do almost perfectly.

Maybe you can help me with the last two issues I have with it (obviously I'm too stupid to resolve) :unsure:

1. When running the script in a RDP session it doesn't show up on the right place above the taskbar. In a 1-line taskbar it's at the bottom of the screen, in a 2-line taskbar it's in the middle of the taskbar. This is something I need to get fixed before I can release this to my Citrix users. ;)

2. I'd like to have a Link or a button on it that opens a website if clicked. So i changed the UDF (sorry 'bout that) accordingly in the _Show_Toast() function:

.
.
.
;Show button below the label:
$hButton = GUICtrlCreateButton($sLinkT, $iToast_Width - 120, $iToast_Height + $iAdd - 40, 110, 30)
GUICtrlSetOnEvent($hButton, "_Link")
.
.
.

        ; Wait for timeout or closure
        While 1
            If GUIGetMsg() = $hToast_Close_X Or TimerDiff($iTimeout_Begin) / 1000 >= Abs($iDelay) Then ExitLoop
            ;Add another "event" for the button.
            If GUIGetMsg() = $hButton Then _Link()
        WEnd
.
.
.

There is no problem with opening a website (It's just a ShellExecute), the problem is that both, the click on the "X" and the click on the Button won't work as expected anymore. Sometimes you'll need to click two or three times.

I even tried to combine it with the GUISyslink UDF from Yashield, but with that I failed big time. :>

Hope you can help me with this one.

Thanks!


Regards,Hannes[spoiler]If you can't convince them, confuse them![/spoiler]

Share this post


Link to post
Share on other sites

Hannes123,

I have no idea why running the UDF in an the RDP session produces the Toast in the wrong vertical location. I can only imagine that UDF misreads the position of the remote taskbar in some way, but as I do not use RDP I cannot really suggest any way to get round it. :>

Does it always come up in the wrong place? If so, we could code a brute force fix if we could determine that the session was under RDP - do you know anyway to do that? :unsure:

As to the added button, it will be pretty difficult trying to do what you want. The X only appears when the Toast is autoretracted after a preset delay - while you can only add controls to the Toast if you set a 0 delay to continue with the script. The 2 seem mutally exclusive to me. ;)

Let me have a look over the weekend to see if I can come up with something to allow you to use a button on the Toast - although this would mean a custom version of the UDF which would not be supported (unless you speak to me nicely!). :D

M23

Edit: Closer inspection of the request and the code change dmy diagnosis of the problem.

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Hannes123,

I cannot see how to easily modify the existing Toast UDF to do what you want - it would require passing details of the required controls to the UDF to then create these controls on the Toast and to look for their activation within the existing internal GUIGetMsg loop. I can clearly see how it might be done using an array to pass the required data, but I am not prepared to get into such a massive rewrite for what I see as a very specific requirement. ;)

However, you can do what I think you require by careful coding within your existing script: :unsure:

#include "Toast.au3"

Opt("GUIOnEventMode", 1)

HotKeySet("{ESC}", "On_Exit")

Global  $sMsg, $hProgress, $aRet[2]
Global $fClicked = False

_Show_Toast()

While 1
    Sleep(10)
WEnd

Func _Show_Toast()

    $sMsg  = " " & @CRLF & " " & @CRLF & " " & @CRLF & " " & @CRLF & " " & @CRLF & " " & @CRLF

    _Toast_Set(Default)
    ; Show the Toast
    $aRet = _Toast_Show(0, "Button", $sMsg, 0) ; No delay
    ; Show the button
    $hButton = GUICtrlCreateButton("Test", 10, 50, 80, 30)
    GUICtrlSetOnEvent(-1, "_Clicked")
    ; Simulate a closure button
    $hX_Button = GUICtrlCreateButton("X", $aRet[1] - 17, 17, 20, 20)
    GUICtrlSetOnEvent(-1, "_X_Clicked")
    ; Start a timer
    $iBegin = TimerInit()
    ; Now wait for a preset time or until a button is pressed
    Do
        Sleep(10)
    Until TimerDiff($iBegin) > 20000 Or $fClicked = True
    ; Reset the flag
    $fClicked = False
    _Toast_Hide()

EndFunc

Func _Clicked()
    ; Do what you want
    MsgBox(0, "Clicked", "Button was clicked")
    ; Set the flag
    $fClicked = True
EndFunc

Func _X_Clicked()
    ; Set the flag
    $fClicked = True
EndFunc

Func On_Exit()
    Exit
EndFunc

You create a simulated closure X button to replace the UDF version - this cannot be displayed as I explained above because it pauses the script and the other controls will not appear until the delay is over, at which point the Toast retracts anyway. Unfortunately you cannot place it on the Toast title bar as this would mean overlapping controls and the button not working - and before you ask, the title needs to be enabled or the colours do not display correctly. :D

Is that any help? If not then you are looking at developing your own version of the UDF with the additional parameter(s) necessary to get the additional controls to display and then function within its internal GUIGetMsg loop. If you do decide to go that way, then by all means use the existing UDF as a starting point and I will be more than happy to offer advice if you run into difficulties. :>

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Hey Melba,

million thanks for your advice! So if I understood you correctly the "X" and the button won't do with the original version.

Hm... I think I will do it the easy way and just leave out the "X" and put a _Toast_Hide() into the button function.

About the first question: I will do some more tests to see what happens under a Citrix / ICA environment. Also there are some environment variables that can point you whether you're in a RDP / ICA session (%SESSIONNAME% = "RDP*" / "ICA*")

I will get back here if I have any questions. But I think I nagged you enough for a few days. :unsure:

Thanks again!


Regards,Hannes[spoiler]If you can't convince them, confuse them![/spoiler]

Share this post


Link to post
Share on other sites

hi, Toast is a great idea!

i can't get the example working though.. it gives an include error for 'StringSize.au3' although it is in the include folder..

how can i sort this out?

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

×
×
  • Create New...