Schickt eine Nachricht an ein Control.
GUICtrlSendMsg ( controlID, msg , wParam, lParam )
Parameter
| ControlID | Die Identifikationsnummer des Controls (Control-ID), wie von einer GUICtrlCreate... Funktion zurückgegeben. |
| msg | Typ der Nachricht, die an das Control gesendet werden soll, wie in der Microsoft-Dokumentation zu Windows controls definiert. |
| wParam | Der erste Parameter, der an das Control gesendet wird. |
| lParam | Der zweite Parameter, der an das Control gesendet wird. |
Rückgabewert
| Erfolg: | Gibt den Wert zurück, der von der SendMessage Windows API zurückgegeben wurde (siehe Microsoft-Dokumentation). |
| Fehler: | Gibt 0 zurück.. |
Bemerkungen
Diese Funktion erlaubt es, spezielle Windows-Nachrichten (messages) über die SendMessage API von Windows direkt an ein Control zu schicken. Sie wird verwendet, um bestimmte Möglichkeiten von Controls zu nutzen, die über die einfachen GUICtrlRead() und GUICtrlUpdate...()-Funktionen nicht erreichbar sind.
Verwandte Funktionen
GUICtrlRecvMsg, GUICtrlCreate..., GUICtrlUpdate..., GUIGetMsg, GUICtrlRead
Beispiel
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
GUICreate("Meine GUI") ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird
$nEdit = GUICtrlCreateEdit ("Zeile 0", 10,10)
GUICtrlCreateButton ("Ok", 20,200,50)
GUISetState ()
For $n=1 To 5
GUICtrlSetData ($nEdit,@CRLF & "Zeile "& $n)
Next
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
Do
$msg = GUIGetMsg()
If $msg >0 Then
$n=GUICtrlSendMsg ($nEdit, $EM_LINEINDEX,-1,0)
$nline=GUICtrlSendMsg( $nEdit, $EM_LINEFROMCHAR,$n,0)
GUICtrlSetState ($nEdit,$GUI_FOCUS) ; Fokus setzen
MsgBox (0,"Aktuelle Zeile",$nLine)
EndIf
Until $msg = $GUI_EVENT_CLOSE