Functions > GUI >


GUICtrlSendMsg

Envoie un message à un contrôle.

GUICtrlSendMsg ( controlID, msg , wParam, lParam )

Paramètres

controlID Identifiant du contrôle retourné par une fonction GUICtrlCreate...(), ou -1 pour désigner le dernier contrôle créé.
msg Type de message à envoyer au contrôle tel qu'il est défini dans la documentation de configuration de Windows.
wParam Premier paramètre à envoyer au contrôle.
lParam Second paramètre à envoyer au contrôle.

Valeur de retour

Succès: Retourne la valeur retournée par l'API SendMessage Windows.
Échec: Retourne 0.

Remarques

Cette fonction permet d'envoyer des messages Windows spéciaux directement au contrôle en utilisant l'API SendMessage. Elle est utilisée pour activer les fonctions spéciales de contrôle qui ne sont pas disponibles avec le simple éventail de fonctions GUICtrlRead() et GUICtrlUpdate....

Les paramètres wParam et lParam peuvent être entier ou chaîne.

GUICtrlSendMsg() doit être utilisée pour des messages qui n'ont pas de types de retour spéciaux. Pour des messages plus complexes où vous devez recevoir des données supplémentaires, vous devez utiliser GUICtrlRecvMsg().

En relation

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

Exemple

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

Example()

Func Example()
    GUICreate("Marquee Progress Bar", 290, 90, -1, -1) ; Un exemple de démarrage/arrêt d'une barre de progression.
    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)

    GUISetState(@SW_SHOW)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Local $idMsg = GUIGetMsg() 
    While $idMsg <> $GUI_EVENT_CLOSE
        Switch $idMsg 
            Case $idStart
                GUICtrlSendMsg($idProgress, $PBM_SETMARQUEE, 1, 50) ; Envoie le message $PBM_SETMARQUEE et wParam à 1 pour démarrer le défilement.

            Case $idStop
                GUICtrlSendMsg($idProgress, $PBM_SETMARQUEE, 0, 50) ; Envoie le message $PBM_SETMARQUEE et wParam à 0 pour arrêter le défilement.

        EndSwitch
        $idMsg = GUIGetMsg()
    WEnd
EndFunc   ;==>Example