Envoie un message à un contrôle et retourne des informations dans lParam.
GUICtrlRecvMsg ( controlID , msg [, wParam [, lParamType]] )
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. |
Succès: | Retourne la valeur renvoyée par l'API SendMessage Windows. |
Échec: | Retourne 0. |
GUICtrlSendMsg, GUICtrlUpdate...
#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