[已解决]请问将ListView改为可编辑的状态,如何获取使用者输入的文字?
本帖最后由 saigi 于 2012-1-14 21:51 编辑我设定了
_GUICtrlListView_EditLabel($ListView, 0)
成功将$ListView的第1项改为可编辑的状态
但Enter后不会保存
请问如何获取使用者输入的文字?
非常感谢
本帖最后由 tsys 于 2012-1-12 00:15 编辑
传送门:http://www.autoitx.com/forum.php?mod=viewthread&tid=28027&highlight=listview
把这个帖子及回复仔细都看一遍,你就会了 楼上正解。。呵呵 很好的学习资料啊 感谢tsys
我找到答案了
$A = _GUICtrlListView_GetEditControl($ListView)
$B = GUICtrlRead($A)
取得控件句柄后,就可以读出在输入状态时的值了~
另外那篇文章是用创一个新的输入框来处理,也是另一种思路
感谢各位大大 抱歉~
先前是误打误撞~5楼的方法行不通
似乎一个是返回句柄,一个是读ID
看来还是要用2楼的方式 2楼正解。。呵呵 抱歉~
先前是误打误撞~5楼的方法行不通
似乎一个是返回句柄,一个是读ID
看来还是要用2楼的方式
saigi 发表于 2012-1-13 20:07 http://www.autoitx.com/images/common/back.gif
_GUICtrlListView_GetEditControl() 返回句柄后可以试试 _GUICtrlEdit_GetText() 读取 本帖最后由 saigi 于 2012-1-14 19:59 编辑
_GUICtrlListView_GetEditControl() 返回句柄后 _GUICtrlEdit_GetText()读取
试了后也读不到,不知道是哪边出了问题
附上原始档#include <Array.au3>
#include <EditConstants.au3>
#Include <GuiEdit.au3>
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
Local $ListView
Local $Item1
Local $ItemA , $ItemB
Local $Set1=["A","B","C","D","E","F","G"]
Opt("GUIOneventMode",1)
$WinMain = GUICreate("Test", 375, 530, -1, -1,WinGetHandle("Program Manager"))
$ListView = GUICtrlCreateListView("", 15, 40, 340, 442,$LVS_EDITLABELS,$LVS_EX_GRIDLINES+$LVS_EX_FULLROWSELECT)
_GUICtrlListView_AddColumn($ListView, "001", 200, 0)
For $NumA=0 To 6 Step 1
$Item1[$NumA]=GUICtrlCreateListViewItem($Set1[$NumA], $ListView)
Next
GUISetOnEvent($GUI_EVENT_CLOSE, "GUICtrlMsg")
For $NumA=0 To 6 Step 1
GUICtrlSetOnEvent($Item1[$NumA],"SendInsAA")
Next
$LABEL1 = GUICTRLCREATELABEL("", 300, 20, 50, 15)
$LABEL2 = GUICTRLCREATELABEL("", 100, 20, 50, 15)
GUISetState(@SW_SHOW)
While 1
Sleep(500)
$ItemB = _GUICtrlEdit_GetText($ItemA)
GUICtrlSetData($LABEL1,$ItemA)
GUICtrlSetData($LABEL2,$ItemB)
WEnd
Func SendInsAA()
$ItemId = _ArraySearch($Item1, @GUI_CtrlId)
_GUICtrlListView_EditLabel($ListView, $ItemId)
$ItemA =_GUICtrlListView_GetEditControl($ListView)
EndFunc
Func GUICtrlMsg()
Exit
EndFunc 不需要获取句柄,GUICtrlSetData($LABEL2, ControlGetText($WinMain, '', 'Edit1')) 原来如此!试成功了
感谢afan!!解决我多日的疑问
页:
[1]