kk_lee69 发表于 2012-8-16 23:24:17

[已解决]listview 读取 所选定的项目 内文问题... 使用UDF 后 原本的语法不行用了....

本帖最后由 kk_lee69 于 2012-8-18 02:14 编辑

原本使用的方式如下:
建立的時候 使用$listview = GUICtrlCreateListView("通報編號|檔案名稱 ", 10, 490, 590, 165)
加項目的時候 使用 GUICtrlCreateListViewItem($RS.Fields(0).value&"|"&$RS.Fields(1).value, $listview)

刪除全部的時候 使用 _GUICtrlListView_DeleteAllItems($listview)
刪除所選的那行的時候使用 _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($listview))
讀取 所選的項目的時候 使用 GUICtrlRead(GUICtrlRead($ListView))

最近想改變方式.......不再一項一項的 增加 LISTVIEW的項目而是 先讀到 Array 裡面 在一次 加到 Listview 裡面

所以 就變成了 建立的 語法 不變
但是 加項目使用 _GUICtrlListView_AddArray($listview, $ListArray)

結果 問題來了 原本 可以使用...._GUICtrlListView_DeleteAllItems($listview) 刪除的 現在不可以...要改成 _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($listview)) 這樣才可以

我還是搞不太懂為什麼......想求助 從上面的狀況看來

原本使用GUICtrlRead(GUICtrlRead($ListView)) 這個方式讀取資料...要改成什麼呢??
_GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($listview))這個語法還有用嗎??

kk_lee69 发表于 2012-8-17 00:43:57

回复 1# kk_lee69

搜尋了好久好不容易 找到 afan 老大 說

MsgBox(0, '选中行的第一列', _GUICtrlListView_GetItemText($hListView, Number(_GUICtrlListView_GetSelectedIndices($hListView))))

但是 我剛剛測試了....即使 你沒有選中 依舊會出現第一筆資料的內容.....
這樣我就無法判斷 使用者是否選定了 ....

netegg 发表于 2012-8-17 01:58:16

GUICtrlCreateListView创建的不一定是句柄$hListView,udf里必须用句柄,用guictrlgethandle之后再试试

kk_lee69 发表于 2012-8-18 02:13:14

來說一下心得吧我已經找到方法了使用 $STarray=_GUICtrlListView_GetItemTextArray($ListView,-1)

這樣每次都會得到一個陣列....然後再去判斷這個陣列裡面 有沒有資料......

就知道使用者 有沒有點選......

感謝大家的幫助...^^
页: [1]
查看完整版本: [已解决]listview 读取 所选定的项目 内文问题... 使用UDF 后 原本的语法不行用了....