my788522 发表于 2012-2-7 21:55:48

[已解决]如何在edit中按行号来选定一行文字?

本帖最后由 my788522 于 2012-2-9 13:13 编辑



如图 按行号来选定某行全部文字
找了下richedit和edit udf 均未有发现或启发
其中的SetSel均需指定全部文字的开头与结尾序号
而一行文字的开头与结尾 似乎并不容易获取
求GUI达人指教为谢

已由A斑解决
For $i=0 To _GUICtrlEdit_GetLineCount($Edit)
$Len = StringLen(_GUICtrlEdit_GetLine($Edit, $i))
$iStart = _GUICtrlEdit_LineIndex($Edit, $i)
$iEnd = $iStart + $Len
_GUICtrlEdit_SetSel($Edit, $iStart, $iEnd)

If $i>10 then
_GUICtrlEdit_LineScroll($Edit, 0, 1)
EndIf
Sleep(1000)
Next

afan 发表于 2012-2-7 23:10:03

#include <GuiEdit.au3>

Local $iLine = 14        ;选择的行数
Local $text = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\readme.txt'
Local $Gui = GUICreate('Edit 选择行例子 By Afan', 500, 400)
Local $Edit = GUICtrlCreateEdit('', 1, 1, 498, 390)
GUISetState()
GUICtrlSetData($Edit, FileRead($text))
$Len = StringLen(_GUICtrlEdit_GetLine($Edit, $iLine))
$iStart = _GUICtrlEdit_LineIndex($Edit, $iLine)
$iEnd = $iStart + $Len
_GUICtrlEdit_SetSel($Edit, $iStart, $iEnd)

While GUIGetMsg() <> -3
WEnd

user3000 发表于 2012-2-8 00:38:00

路过学习....

话说回来, A版 的 Signature " Bye..." 有什么说法的吗?
呵呵, 好奇过头了!

502762378 发表于 2012-2-8 21:00:35

昨天搞了一晚上没搞出来
学习一下
话说_GUICtrlEdit_LineIndex帮助文档说明的不是很清楚呢
页: [1]
查看完整版本: [已解决]如何在edit中按行号来选定一行文字?