Text beim Cursor einfügen (Edit Control)

  • Hi leute ich bins schon wieder :P
    Mein Problem ist zurzeit:
    Ich möchte einen Text an die Stelle des Textcursors in einem Edit-Control einfügen. Ich habe schon mit ControlSend probiert aber klappte nicht richtig.
    Wie kann ich es machen damit es klappt?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form = GUICreate("Meine GUI", 312, 155, 192, 124)
    $Edit = GUICtrlCreateEdit("", 16, 16, 273, 89)
    $Button = GUICtrlCreateButton("einfügen", 8, 120, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button
    $Input = WinGetTitle("[active]")
    ControlSend($Input,"",$Edit,"Mein Text",0)

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Einmal editiert, zuletzt von Fabi (18. Juni 2011 um 19:11)

  • Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form = GUICreate("Meine GUI", 312, 155, 192, 124)
    $Edit = GUICtrlCreateEdit("", 16, 16, 273, 89)
    $Button = GUICtrlCreateButton("einfügen", 8, 120, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button
    $aSel = _GUICtrlEdit_GetSel($Edit)
    $sRead = GUICtrlRead($Edit)
    GUICtrlSetData($Edit, StringLeft($sRead, $aSel[0]) & "TEXT" & StringTrimLeft($sRead, $aSel[1]))
    EndSwitch

    [/autoit]
  • Ich denke du meinst so etwas:

    Spoiler anzeigen
    [autoit]

    #include <GUIEdit.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate("Test", 400, 400)
    $cEdit = GUICtrlCreateEdit("oiqjwedoiwjef", 5, 5, 390, 390)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(64, "Info", "Bitte nach bestätigen dieser Nachricht innerhalb von 3 Sekunden den Cursor an die gewollte Position setzen.")
    Sleep(3000)

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlEdit_InsertTextAtCursorPos($cEdit, "AutoIt")

    [/autoit] [autoit][/autoit] [autoit]

    While GUIGetMsg() <> -3
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _GUICtrlEdit_InsertTextAtCursorPos($hWnd_Edit, $sText)
    $aCurSel = _GUICtrlEdit_GetSel($hWnd_Edit)
    _GUICtrlEdit_InsertText($hWnd_Edit, $sText, $aCurSel[1])
    EndFunc

    [/autoit]


    Edit: Zu spät ^^.