Function Reference


Send a message to a control.

GUICtrlSendMsg ( controlID, msg , wParam, lParam )


controlID The control identifier (controlID) as returned by a GUICtrlCreate...() function, or -1 for the last created control.
msg type of message to be send to the control as defined in the Windows control documentation.
wParam The first param to send to the control.
lParam The second param to send to the control.

Return Value

Success: the value returned by the SendMessage Windows API.
Failure: 0.


This function allows the sending of special Windows messages directly to the control using the SendMessage API. It is used to enable special control features not available with the simple GUICtrlRead() and GUICtrlUpdate.... range of functions.

The parameters (wParam and lParam) can be an integer or a string.

GUICtrlSendMsg() should be used for messages that have no special return types. For more advanced messages where you must be able to receive extra data you must use GUICtrlRecvMsg().


GUICtrlCreate..., GUICtrlRead, GUICtrlRecvMsg, GUICtrlUpdate..., GUIGetMsg


#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>


Func Example()
        GUICreate("Marquee Progress Bar", 290, 90, -1, -1) ; An example of starting/stopping a scrolling marquee of a progress bar.
        Local $idProgress = GUICtrlCreateProgress(10, 10, 270, 20, $PBS_MARQUEE)
        Local $idStart = GUICtrlCreateButton("&Start", 10, 60, 70, 25)
        Local $idStop = GUICtrlCreateButton("S&top", 85, 60, 70, 25)


        ; Loop until the user exits.
        While 1
                Switch GUIGetMsg()
                        Case $GUI_EVENT_CLOSE

                        Case $idStart
                                GUICtrlSendMsg($idProgress, $PBM_SETMARQUEE, 1, 50) ; Send the message $PBM_SETMARQUEE and wParam of 1 to start the scrolling marquee.

                        Case $idStop
                                GUICtrlSendMsg($idProgress, $PBM_SETMARQUEE, 0, 50) ; Send the message $PBM_SETMARQUEE and wParam of 0 to stop the scrolling marquee.

EndFunc   ;==>Example