Erstellt ein Edit-Control
#include <GuiEdit.au3>
_GUICtrlEdit_Create ( $hWnd, $sText, $iX, $iY [, $iWidth = 150 [, $iHeight = 150 [, $iStyle = 0x003010C4 [, $iExStyle = 0x00000200]]]] )
$hWnd | Handle zum Parent- oder Eigner-Fenster |
$sText | darzustellender Text im Control |
$iX | Horizontale Position des Controls |
$iY | Vertikale Position des Controls |
$iWidth | [optional] Breite des Controls |
$iHeight | [optional] Höhe des Controls |
$iStyle | [optional] Stile des Controls: $ES_AUTOHSCROLL - Scrollt den Text automatisch um 10 Zeichen nach rechts, wenn der Benutzer ein Zeichen am Ende der Zeile eingibt. $ES_AUTOVSCROLL - Scrollt den Text eine Seite nach oben, wenn der Benutzer die ENTER-Taste in der letzten Zeile drückt. $ES_CENTER - Zentriert den Text in einem Edit-Control. $ES_LEFT - Setzt den Text eines Edit-Controls linksbündig. $ES_LOWERCASE - Wandelt alle Zeichen in Kleinbuchstaben um, wenn sie in das Edit-Control eingegeben werden. $ES_MULTILINE - mehrzeiliges Edit-Control. $ES_NOHIDESEL - Der markierte Text wird invertiert, auch wenn das Control den Fokus nicht besitzt. $ES_NUMBER - Akzeptiert nur die Eingabe von Zahlen in das Edit-Control. $ES_OEMCONVERT - Konvertiert den im Edit-Control eingegebenen Text. $ES_READONLY - Verhindert die Eingabe von Text oder die Veränderung von Text im Edit-Control durch den Benutzer. $ES_RIGHT - Setzt den Text eines Edit-Controls rechtsbündig. $ES_UPPERCASE - Wandelt alle Zeichen in Großbuchstaben um, wenn sie in das Edit-Control eingegeben werden. $ES_WANTRETURN - Legt fest, dass ein Zeilenende-Zeichen (carriage return) in den Text eingefügt wird, wenn der Benutzer die ENTER-Taste drückt $ES_PASSWORD - Zeigt ein Sternchen (*) für jedes Zeichen welches in das Edit-Control eingegeben wurde Standard: $ES_MULTILINE, $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL Erzwungen: WS_CHILD, $WS_VISIBLE, $WS_TABSTOP wenn $ES_READONLY nicht gesetzt wurde |
$iExStyle | [optional] erweiterte Stile des Controls. Diese entsprechen den Standard $WS_EX_ Konstanten. Siehe Tabelle Erweiterte Stile. |
Erfolg: | das Handle des Edit-Controls |
Fehler: | 0 |
Diese Funktion ist für erfahrene Benutzer und zum erlernen der Funktion von Controls.
- - - - - - - - Erklärung der Controls - - - - - - - -
#include <Extras\WM_NOTIFY.au3> #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <WinAPIConv.au3> #include <WindowsConstants.au3> Global $g_hEdit _Example1() Func _Example1() ; Erstellt eine GUI Local $hGUI = GUICreate("Edit: Erstellen (v" & @AutoItVersion & ")", 400, 300) $g_hEdit = _GUICtrlEdit_Create($hGUI, "Dies ist ein Test" & @CRLF & "Noch eine Zeile", 2, 2, 394, 268) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") _GUICtrlEdit_AppendText($g_hEdit, @CRLF & "An das Ende anhängen?") ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>_Example1 Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg Local $hWndEdit = $g_hEdit If Not IsHWnd($g_hEdit) Then $hWndEdit = GUICtrlGetHandle($g_hEdit) Local $hWndFrom = $lParam Local $iIDFrom = _WinAPI_LoWord($wParam) Local $iCode = _WinAPI_HiWord($wParam) Switch $hWndFrom Case $g_hEdit, $hWndEdit Switch $iCode Case $EN_ALIGN_LTR_EC ; Gesendet, wenn der Benutzer die Textausrichtung im Input-Control zu Links nach Rechts gewechselt hat _WM_NOTIFY_DebugInfo("$EN_ALIGN_LTR_EC", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_ALIGN_RTL_EC ; Gesendet, wenn der Benutzer die Textausrichtung im Input-Control zu Rechts nach Links gewechselt hat _WM_NOTIFY_DebugInfo("$EN_ALIGN_RTL_EC", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_CHANGE ; Gesendet, wenn der Benutzer eine Aktion ausgeführt hat, die möglicherweise Text im Input-Control geändert hat _WM_NOTIFY_DebugInfo("$EN_CHANGE", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_ERRSPACE ; Gesendet, wenn ein Input-Control nicht genug Speicher reservieren konnte, um der Anforderung dessen zu entsprechen _WM_NOTIFY_DebugInfo("$EN_ERRSPACE", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_HSCROLL ; Gesendet, wenn der Benutzer auf die horizontale Scrollbar des Input-Controls klickt _WM_NOTIFY_DebugInfo("$EN_HSCROLL", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_KILLFOCUS ; Gesendet, wenn ein Input-Control den Tastaturfokus verliert _WM_NOTIFY_DebugInfo("$EN_KILLFOCUS", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_MAXTEXT ; Gesendet, wenn das aktuelle Einfügen von Text die festgelegte Anzahl von Zeichen für das Input-Control überschritten hat _WM_NOTIFY_DebugInfo("$EN_MAXTEXT", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Diese Nachricht wird ebenso gesendet, wenn ein Input-Control nicht den Stil $ES_AUTOHSCROLL besitzt und die Anzahl der einzufügenden ; Zeichen die Breite des Input-Controls überschreitet. ; Diese Nachricht wird ebenso gesendet, wenn ein Input-Control nicht den Stil $ES_AUTOHSCROLL besitzt und die gesamte Anzahl der Zeilen, ; Die aus einer Texteinfügung resultieren, die Höhe des Input-Controls überschreitet. ; Kein Rückgabewert Case $EN_SETFOCUS ; Gesendet, wenn ein Input-Control den Tastaturfokus erhält _WM_NOTIFY_DebugInfo("$EN_SETFOCUS", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_UPDATE ; Gesendet, wenn ein Input-Control davor ist, sich zu neuzuzeichnen _WM_NOTIFY_DebugInfo("$EN_UPDATE", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_VSCROLL ; Gesendet, wenn der Benutzer auf die vertikale Scrollbar des Input-Controls klickt oder wenn der Benutzer das Mausrad über dem Input-Control rollt _WM_NOTIFY_DebugInfo("$EN_VSCROLL", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND
#include <Extras\WM_NOTIFY.au3> #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <WinAPIConv.au3> #include <WindowsConstants.au3> Global $g_hEdit _Example2() Func _Example2() Local $hGui ; Erstellt eine GUI Local $hGui = GUICreate("Edit: Erstellen (v" & @AutoItVersion & ")", 400, 300) $g_hEdit = _GUICtrlEdit_Create($hGui, "", 2, 2, 394, 268) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") _GUICtrlEdit_SetText($g_hEdit, "Dies ist ein Test" & @CRLF & "Noch eine Zeile") ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>_Example2 Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg Local $hWndEdit = $g_hEdit If Not IsHWnd($g_hEdit) Then $hWndEdit = GUICtrlGetHandle($g_hEdit) Local $hWndFrom = $lParam Local $iIDFrom = _WinAPI_LoWord($wParam) Local $iCode = _WinAPI_HiWord($wParam) Switch $hWndFrom Case $g_hEdit, $hWndEdit Switch $iCode Case $EN_ALIGN_LTR_EC ; Gesendet, wenn der Benutzer die Textausrichtung im Input-Control zu Links nach Rechts gewechselt hat _WM_NOTIFY_DebugInfo("$EN_ALIGN_LTR_EC", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_ALIGN_RTL_EC ; Gesendet, wenn der Benutzer die Textausrichtung im Input-Control zu Rechts nach Links gewechselt hat _WM_NOTIFY_DebugInfo("$EN_ALIGN_RTL_EC", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_CHANGE ; Gesendet, wenn der Benutzer eine Aktion ausgeführt hat, die möglicherweise Text im Input-Control geändert hat _WM_NOTIFY_DebugInfo("$EN_CHANGE", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_ERRSPACE ; Gesendet, wenn ein Input-Control nicht genug Speicher reservieren konnte, um der Anforderung dessen zu entsprechen _WM_NOTIFY_DebugInfo("$EN_ERRSPACE", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_HSCROLL ; Gesendet, wenn der Benutzer auf die horizontale Scrollbar des Input-Controls klickt _WM_NOTIFY_DebugInfo("$EN_HSCROLL", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_KILLFOCUS ; Gesendet, wenn ein Input-Control den Tastaturfokus verliert _WM_NOTIFY_DebugInfo("$EN_KILLFOCUS", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_MAXTEXT ; Gesendet, wenn das aktuelle Einfügen von Text die festgelegte Anzahl von Zeichen für das Input-Control überschritten hat _WM_NOTIFY_DebugInfo("$EN_MAXTEXT", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Diese Nachricht wird ebenso gesendet, wenn ein Input-Control nicht den Stil $ES_AUTOHSCROLL besitzt und die Anzahl der einzufügenden ; Zeichen die Breite des Input-Controls überschreitet. ; Diese Nachricht wird ebenso gesendet, wenn ein Input-Control nicht den Stil $ES_AUTOHSCROLL besitzt und die gesamte Anzahl der Zeilen, ; Die aus einer Texteinfügung resultieren, die Höhe des Input-Controls überschreitet. ; Kein Rückgabewert Case $EN_SETFOCUS ; Gesendet, wenn ein Input-Control den Tastaturfokus erhält _WM_NOTIFY_DebugInfo("$EN_SETFOCUS", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_UPDATE ; Gesendet, wenn ein Input-Control davor ist, sich zu neuzuzeichnen _WM_NOTIFY_DebugInfo("$EN_UPDATE", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert Case $EN_VSCROLL ; Gesendet, wenn der Benutzer auf die vertikale Scrollbar des Input-Controls klickt oder wenn der Benutzer das Mausrad über dem Input-Control rollt _WM_NOTIFY_DebugInfo("$EN_VSCROLL", "hWndFrom,IDFrom", $hWndFrom, $iIDFrom) ; Kein Rückgabewert EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND