jeaman 发表于 2008-5-26 08:47:57

ListView的项目文如何编辑替换?列表头的宽度如何设定?

除了在样式中使用$LVS_EDITLABELS以外,还要添加什么代码?
以下代码只能实现编辑,但无法保存所做的修改
另外,如何设定列表头的宽度(或者说,当列表头的标题太长时,如何让它全部显示)?

#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
; GUI
GuiCreate("GUI例子", 400, 220)

$listView = GuiCtrlCreateListView("列表查看|例子|", 10, 10, 380, 200,$LVS_EDITLABELS)
GuiCtrlCreateListViewItem("A|一", $listView)
GuiCtrlCreateListViewItem("B|二", $listView)
GuiCtrlCreateListViewItem("C|三", $listView)

; GUI MESSAGE LOOP
GuiSetState()
While GuiGetMsg() <> $GUI_EVENT_CLOSE
WEnd

[ 本帖最后由 jeaman 于 2008-6-20 19:36 编辑 ]

kakinkgb 发表于 2008-5-26 15:21:01

设定列的宽度可以用UDF函数_GUICtrlListView_SetColumnWidth
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
; GUI
GuiCreate("GUI例子", 400, 220)

$listView = GuiCtrlCreateListView("列表查看|例子|", 10, 10, 380, 200,$LVS_EDITLABELS)
GuiCtrlCreateListViewItem("Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|一", $listView)
GuiCtrlCreateListViewItem("B|二", $listView)
GuiCtrlCreateListViewItem("C|三", $listView)
_GUICtrlListView_SetColumnWidth ($listview,0,$LVSCW_AUTOSIZE_USEHEADER)
_GUICtrlListView_SetColumnWidth ($listview,1,$LVSCW_AUTOSIZE_USEHEADER)
; GUI MESSAGE LOOP
GuiSetState()
While GuiGetMsg() <> $GUI_EVENT_CLOSE
WEnd

jeaman 发表于 2008-5-26 20:07:51

非常感谢 kakinkgb
倘若能自定义列表头宽度就更好了!

漠北雪~狼 发表于 2008-5-27 15:15:42

#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
; GUI
GuiCreate("GUI例子", 400, 220)

$listView = GuiCtrlCreateListView("列表查看|例子|", 10, 10, 380, 200,$LVS_EDITLABELS)
GuiCtrlCreateListViewItem("A|一", $listView)
GuiCtrlCreateListViewItem("B|二", $listView)
GuiCtrlCreateListViewItem("C|三", $listView)
GUICtrlSendMsg($listView, 0x101E, 0, 200)
_GUICtrlListViewSetColumnWidth($listView,1,200)
; GUI MESSAGE LOOP
GuiSetState()
While GuiGetMsg() <> $GUI_EVENT_CLOSE
WEnd

只说第二个,没时间....这里分别用了两种方法,个人比较喜欢使用第一种....必竟....

[ 本帖最后由 漠北雪~狼 于 2008-5-27 15:21 编辑 ]
页: [1]
查看完整版本: ListView的项目文如何编辑替换?列表头的宽度如何设定?