本帖最后由 lchl0588 于 2012-6-12 18:16 编辑
回复 1# 131738
先看下代码#AutoIt3Wrapper_au3check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
;-------------自个添加部分-------
Dim $a, $Limiter = 5;这个就是规定范围数.....
;-----------------结束-------------
_Main()
Func _Main()
Local $listview, $hImage
Local $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)
GUICreate("ImageList AddIcon", 400, 300)
$listview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle($listview, $exStyles)
GUISetState()
;-----------------代码来自UDF 中“_GUIImageList_AddIcon ”-------------
; 加载图像
$hImage = _GUIImageList_Create(16, 16, 5, 3)
$a = _GUIImageList_AddIcon($hImage, @DesktopDir & "\ico1.dll", 1, True)
;@DesktopDir & "\ico.dll 存在,那$a=0 成立;不存在则不成立,那运行 If Not $a=0 Then 内的代码
For $1 = 0 To 6 ;有趣的地方:如果$a=0成立时,修改下 To 后面的数测试下,还有不成立会出什么情况呢?多试就知道了
If $a = 0 Then ; 条件成立时,运行下面(也就是$a中DLL文件存在才成立)
$Limiter = $Limiter - 1 ;这里规定循环次数 也就是 $1 or $Limiter(不知理解是否有误?)
If $Limiter < 1 Then ExitLoop
EndIf
If Not $a = 0 Then
MsgBox(0,"不成立","看到这几个字就说明 含有图标的dll文件没找到,同时不带图标按照 to后的次数决定"&@CR&"还有点几次“确定”是不是与TO后的数+1=的数相同?")
EndIf
_GUICtrlListView_SetImageList($listview, $hImage, 1)
; 添加列
_GUICtrlListView_AddColumn($listview, "Column 1", 120)
; 添加项目
_GUICtrlListView_AddItem($listview, "Row 1: Col 1", 0)
_GUICtrlListView_AddItem($listview, "Row 2: Col 2", 1)
Next
; 循环至用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
然后再说下上述代码$a的部分:True 与False 的区别,如下图:
这是纠正后测试的结果图
|