Funktionreferenz


_GUICtrlEdit_Create

Beschreibung anzeigen in

Erstellt ein Edit-Control

#include <GuiEdit.au3>
_GUICtrlEdit_Create ( $hWnd, $sText, $iX, $iY [, $iWidth = 150 [, $iHeight = 150 [, $iStyle = 0x003010C4 [, $iExStyle = 0x00000200]]]] )

Parameter

$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.

Rückgabewert

Erfolg: das Handle des Edit-Controls
Fehler: 0

Bemerkungen

Diese Funktion ist für erfahrene Benutzer und zum erlernen der Funktion von Controls.

- - - - - - - - Erklärung der Controls - - - - - - - -

Verwandte Funktionen

_GUICtrlEdit_Destroy

Beispiel

Beispiel 1 : _GUICtrlEdit_AppendText()

#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

Beispiel 2 : _GUICtrlEdit_SetText()

#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