Functions > GUI >


GUICtrlRecvMsg

Envoie un message � un contr�le et retourne des informations dans lParam.

GUICtrlRecvMsg ( controlID , msg [, wParam [, lParamType]] )

Param�tres

controlID L'identifiant du contr�le (controlID retourn� par une fonction GUICtrlCreate...(), ou -1 pour d�signer le dernier contr�le cr��.
msg Code d'un message � envoyer au contr�le tel que d�fini dans la documentation des contr�les Windows.
wParam [optionnel] Un premier param�tre 'integer' � envoyer au contr�le.
lParamType [optionnel] D�finit le type de lParam qui sera retourn� : 0 (par d�faut) pour wParam et lParam, 1 pour lParam-String, 2 pour lParam RECT-structure.

Valeur de retour

Succ�s: Retourne la valeur renvoy�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 des fonctions sp�ciales de contr�le non disponibles avec le simple �ventail de fonctions GUICtrlRead() et GUICtrlUpdate....

Si les param�tres wParam et lParamType ne sont pas sp�cifi�s, alors un tableau de deux �l�ments est retourn� (LPwParam, LPlParam).

Le RECT est retourn� dans un tableau de 4 �l�ments ((Left, Top, Right, Bottom).

En relation

GUICtrlSendMsg, GUICtrlUpdate...

Exemple

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Cr�e une interface graphique avec un contr�le d'�dition.
    Local $hGUI = GUICreate("Example")
    Local $idEdit = GUICtrlCreateEdit("Line 0" & @CRLF, 0, 0, 400, 350)
    Local $idOK = GUICtrlCreateButton("OK", 310, 370, 85, 25)

    ; R�glages des donn�es du contr�le d'�dition.
    For $i = 1 To 25
        GUICtrlSetData($idEdit, "Line " & $i & @CRLF, 1)
    Next

    ; D�finit le focus sur le contr�le d'�dition.
    GUICtrlSetState($idEdit, $GUI_FOCUS)

    ; Affiche l'interface graphique.
    GUISetState(@SW_SHOW, $hGUI)

    ; Initialise la variable $aCtrlRecvMsg pour stocker la valeur retourn�e par GUICtrlRecvMsg.
    Local $aCtrlRecvMsg = 0

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Local $idMsg = GUIGetMsg()
    While $idMsg <> $GUI_EVENT_CLOSE
        if $idMsg = $idOK Then
                ; Envoie le message EM_GETSEL, pour r�cup�rer la s�lection en cours du contr�le d'�dition.
                $aCtrlRecvMsg = GUICtrlRecvMsg($idEdit, $EM_GETSEL)

                ; Donne le focus au au contr�le d'�dition.
                GUICtrlSetState($idEdit, $GUI_FOCUS)

                ; Si GUICtrlRecvMsg a retourn� la valeur 0, une erreur s'est produite sinon afficher le contenu du tableau.
                If $aCtrlRecvMsg = 0 Then
                    MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue. La valeur retourn�e �tait - " & $aCtrlRecvMsg)
                Else
                    MsgBox($MB_SYSTEMMODAL, "", "D�but: " & $aCtrlRecvMsg[0] & " Fin: " & $aCtrlRecvMsg[1])
                EndIf
        EndIf 
        $idMsg = GUIGetMsg()
    WEnd

    ; Supprime la GUI pr�c�dente et tous ses contr�les.
    GUIDelete($hGUI)
EndFunc   ;==>Example