本帖最后由 东风破 于 2014-4-23 14:27 编辑
以 _GUICtrlListView_AddItem 示例程序说明这问题吧。#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
$Debug_LV = False ; 检查传递给 ListView 函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作
_Main()
Func _Main()
Local $hImage, $hListView
; 创建界面
GUICreate("列表中添加项目", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
; 加载图像
$hImage = _GUIImageList_Create()
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
_GUICtrlListView_SetImageList($hListView, $hImage, 1)
; 添加列
_GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
_GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
_GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)
; 添加项目
_GUICtrlListView_AddItem($hListView, "Row 1: Col 1" ,0)
_GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
_GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)
; 循环至用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
目的:首列不显示图像,而让子列显示图像。
_GUICtrlListView_AddItem 第三个参数——“ [可选参数] 项目图标在图像列表中的 0 基索引 ”。即是可选,证明可以不加此参数以达到不显示图像的目的。
但是实际测试中发现,去掉此参数发现没有效果。首列依旧显示图像...
而 _GUICtrlListView_AddSubItem 去掉参数可以实现不显示图像的目的。不知道怎么才能实现我想要的目的,望大家赐教。
看来只钻牛角尖是不行的,多谢netegg大神的指点。只需添加列的时候,将首列宽度设置为0不显示,而从第二项开始显示便达到效果了!_GUICtrlListView_InsertColumn($ListView1, 0, "",0) ;宽度设置为0不显示
_GUICtrlListView_InsertColumn($ListView1, 1, "店面", 80)
|