_Msg($iUI, $sText, $sTitle = @ScriptName, $iTimeout = 3, $iOption = 0)
Displays a message using different UI elements based on the specified $iUI parameter.
; https://www.autoitscript.com/forum/topic/212945-_msg/
#include <MsgBoxConstants.au3>
#include <TrayConstants.au3>
#include <AutoItConstants.au3>
; #FUNCTION# ====================================================================================================================
; Name...........: _Msg
; Description....: Displays a message using different UI elements based on the specified $iUI parameter.
; Syntax.........: _Msg($iUI, $sText, $sTitle = @ScriptName, $iTimeout = 3, $iOption = 0)
; Parameters.....: $iUI - Specifies the UI element to use:
; 0 - Return - nothing
; 1 - ConsoleWrite
; 2 - MsgBox
; 3 - ToolTip
; 4 - TrayTip
; $sText - The message text to be displayed.
; $sTitle - [optional] The title of the UI element. (Default is @ScriptName)
; $iTimeout - [optional] Timeout in seconds for displaying the message. (Default is 3)
; $iOption - [optional] Options for MsgBox, ToolTip, and TrayTip. (Default is 0)
; Return values .: Success: No specific return value, function exits after display.
; Failure: None
; Example .......: _Msg(1, "Hello, this is a test message.", @ScriptName, 5)
; ===============================================================================================================================
Func _Msg($iUI, $sText, $sTitle = Default, $iTimeout = 3, $iOption = 0)
If $sTitle = Default Then $sTitle = @ScriptName
Switch $iUI
Case 0 ; ### 0 Return - Does nothing, just exits the function.
Return
Case 1 ; ### 1 ConsoleWrite
ConsoleWrite($sTitle & ": " & $sText & @CRLF)
Case 2 ; ### 2 MsgBox
MsgBox($iOption, $sTitle, $sText, $iTimeout)
Case 3 ; ### 3 ToolTip
ToolTip($sText, Default, Default, $sTitle, $iOption)
Sleep($iTimeout * 1000) ; ToolTip doesn't have built-in timeout, so we use Sleep
ToolTip("") ; Clear the tooltip after the timeout
Case 4 ; ### 4 TrayTip
TrayTip($sTitle, $sText, $iTimeout, $iOption)
Sleep($iTimeout * 1000) ; give time to display it
Case Else ; ### Else case - Does nothing, just exits the function.
Return
EndSwitch
EndFunc ;==>_Msg
; Example Usage of _Msg Function
; ### ConsoleWrite ###############################################
; ConsoleWrite Example
_Msg(1, "This message appears in the AutoIt console.", "Console Output")
; ConsoleWrite Example - Information-sign icon consisting of an 'i' in a circle
_Msg(1, "This is an informational message.", "> Info")
; ConsoleWrite Example - Stop-sign icon
_Msg(1, "This is a error message.", "! Error")
; ConsoleWrite Example - Question-mark icon
_Msg(1, "This is a question message.", "+ Question")
; ConsoleWrite Example - Exclamation-point icon
_Msg(1, "This is a warning message.", "- Warning")
; ### MsgBox ###############################################
; MsgBox Example - Information-sign icon consisting of an 'i' in a circle
_Msg(2, "This is an informational message box.", "Info", 3, $MB_ICONINFORMATION)
; MsgBox Example - Stop-sign icon
_Msg(2, "This is a error message box.", "Error", 3, $MB_ICONERROR)
; MsgBox Example - Question-mark icon
_Msg(2, "This is a question message box.", "Question", 3, $MB_ICONQUESTION)
; MsgBox Example - Exclamation-point icon
_Msg(2, "This is a warning message box.", "Warning", 3, $MB_ICONWARNING)
; ### ToolTip ###############################################
; ToolTip Example - no icon
_Msg(3, "This is a question ToolTip.", "noicon", 3, $TIP_NOICON)
; ToolTip Example - Information-sign icon consisting of an 'i' in a circle
_Msg(3, "This is an informational ToolTip.", "Info", 3, $TIP_INFOICON)
; ToolTip Example - error icon
_Msg(3, "This is a error ToolTip.", "Error", 3, $TIP_ERRORICON)
; ToolTip Example - Warning icon
_Msg(3, "This is a warning ToolTip.", "Warning", 3, $TIP_WARNINGICON)
; ### TrayTip ###############################################
; TrayTip Example - no icon
_Msg(4, "This is a question TrayTip.", "noicon", 3, $TIP_ICONNONE)
; TrayTip Example - Information-sign icon consisting of an 'i' in a circle
_Msg(4, "This is an informational TrayTip.", "Info", 3, $TIP_ICONASTERISK)
; TrayTip Example - error icon
_Msg(4, "This is a error TrayTip.", "Error", 3, $TIP_ICONHAND)
; TrayTip Example - Warning icon
_Msg(4, "This is a warning TrayTip.", "Warning", 3, $TIP_ICONEXCLAMATION)
; ##################################################
; Return Example (does nothing visible)
_Msg(0, "This message will not be displayed.", "No Output")
; MsgBox Example $iTimeout = 0
_Msg(2, "All message examples have been executed.", "Examples Finished", 0)