- Offizieller Beitrag
Hi,
ist mir bisher gar nicht aufgefallen - aber die Funktionen zum Edit-Ctrl geben entweder einen Zeilen- oder einen Zeichen-Index zurück.
Man kann mit keiner Funktion direkt den markierten Text ausgeben.
Hierzu habe ich jetzt eine Funktion hinzugefügt: GUICtrlEditGetSelTxt($h_edit)
Spoiler anzeigen
;----------------------------------------------------------------------------------------------------------------------
; Fuction _GUICtrlEditGetSelTxt($h_edit)
;
; Description Get selectet text from an edit-control
;
; Parameter $h_edit edit control
;
; Return Succes selected text
; Failure 0 set @error = 1; error from _GUICtrlEditGetSel()
; set @error = 2; nothing selected
;
; Requirement #include <GuiEdit.au3>
;
; Author BugFix ([email='bugfix@autoit.de'][/email])
;----------------------------------------------------------------------------------------------------------------------
Func _GUICtrlEditGetSelTxt($h_edit)
Local $sel = _GUICtrlEditGetSel($h_edit)
If ($sel == $EC_ERR) Then
SetError(1)
Return 0
ElseIf (Not IsArray($sel)) Or ($sel[1] = $sel[2]) Then
SetError(2)
Return 0
EndIf
Local $selTxt = ''
$arTxt = StringSplit(GUICtrlRead($h_edit),'')
For $i = $sel[1]+1 To $sel[2]
$selTxt &= $arTxt[$i]
Next
Return $selTxt
EndFunc ;==>_GUICtrlEditGetSelTxt