kk_lee69 发表于 2013-6-23 01:45:37

[已解决]GUICtrlCreateEdit 控件如何将游标 移到最后的位置??

本帖最后由 kk_lee69 于 2013-6-23 22:07 编辑

GUICtrlCreateEdit 控件如何将游标 移到最后的位置??

我已經將 控件 設定成唯讀 ,但是 使用者 可以按 控件 就會改變游標的位置,會影響我後續加資料的正確性, 如果將 控件 設定為 DISABLE又會變成 太不明顯,而且使用者也無法複製...

能夠快速的將 游標 移到 最後的位置嗎??

或者 能夠直接 往最後 一個字元的位置 加資料嗎??
(P.S讀取全部--> 清空-->加入增加的--> 再回填回去這個方法就不要用了 )

請 高手 幫個忙謝謝

user3000 发表于 2013-6-23 02:53:11

#include <GuiEdit.au3>
$gui = GUICreate('test', 220, 180)
$Edit = GUICtrlCreateEdit("This is a test", 10, 10)
$handl = GUICtrlGetHandle(-1)
GUISetState()
$step = 0
While 1
        Sleep(2000)
        Switch $step
                Case 0
                        _GUICtrlEdit_AppendText($handl, @CRLF & 'This is new one')
                        WinSetTitle($gui, '', 'add?')
                Case 1
                        WinSetTitle($gui, '', 'head?')
                        _GUICtrlEdit_SetSel($handl, 0, 0)
                Case 2
                        _GUICtrlEdit_SetSel($handl, 0, -1)
                        WinSetTitle($gui, '', 'select all')
                Case 3
                        _GUICtrlEdit_SetSel($handl, -1, -1)
                        WinSetTitle($gui, '', 'tail?')
                Case Else
                        Exit
        EndSwitch
        $step += 1
WEnd更多操作方法,请查看用户自定义函数里的GuiEdit帮助.

kk_lee69 发表于 2013-6-23 10:43:18

本帖最后由 kk_lee69 于 2013-6-23 11:01 编辑

謝啦了解了看過 _GUICtrlEdit_AppendText

但是沒實際測試 心裏就以為是跟 GUICtrlSetData 方式一樣!!

不過這個函數 應該 也是全部讀取 增加後再回寫

有沒有 可以直接移動遊標到最後的方法呢??

利用 _GUICtrlEdit_SetSel($handl, -1, -1)
配合 GUICtrlSetData好像起不了作用??

剛剛又測試了一下好像要先
_GUICtrlEdit_SetSel($handl, 0, -1)
_GUICtrlEdit_SetSel($handl, -1, -1)
再配合 GUICtrlSetData這樣就可以達到想要的效果
页: [1]
查看完整版本: [已解决]GUICtrlCreateEdit 控件如何将游标 移到最后的位置??