Netfox 发表于 2009-12-22 00:02:11

根据数据库中的值显示不同的图标,请问如何实现?

本帖最后由 Netfox 于 2009-12-24 10:22 编辑

请看以下代码,

$hImage = _GUIImageList_Create(32, 32, 5, 3) ;图标显示大小
        While Not $RS.eof And Not $RS.bof
                Sleep(1)
                If @error = 1 Then ExitLoop
                $title = $RS.Fields(1).value
                $icon = $RS.Fields(2).value
                $chk = $RS.fields(4).value
                If $chk = True Then
                _GUIImageList_AddIcon($hImage, ".\Lib\icon.dll", 0, True)
        else
                _GUIImageList_AddIcon($hImage, ".\Lib\icon.dll", 1, True)
                _GUICtrlListView_SetImageList($listnum, $hImage, 0)

                EndIf
_GUICtrlListView_AddItem($listnum, $title) ;列表的末尾添加一个新的项目
                $RS.movenext
        WEnd

我循环从数据中去取值,根据这个值显示不同的图标,但是没效果,只能显示出相同的图标.高手些帮帮忙.

Netfox 发表于 2009-12-24 10:16:29

晕死,都没人问津.还好自个儿把这个问题解决了.

sanmoking 发表于 2009-12-24 10:52:04

这个就是一个if搞定的事..

Netfox 发表于 2009-12-25 00:39:03

本帖最后由 Netfox 于 2009-12-25 00:41 编辑

就凭一个if能搞定还用上来请教 吗,晕呢``
我这[ 儿不是有If $chk = True Then
                _GUIImageList_AddIcon($hImage, ".\Lib\icon.dll", 0, True)
      else
                _GUIImageList_AddIcon($hImage, ".\Lib\icon.dll", 1, True)
                _GUICtrlListView_SetImageList($listnum, $hImage, 0)

                EndIf
我当时请教的时候,是想弄清楚,为什么判断后,增加到listview的图标全都是一样的.不像我现在这样,根据开台后,数据里的标识,把图标换成不同的.

0633zhou 发表于 2009-12-26 23:11:27

谢谢楼主分享
页: [1]
查看完整版本: 根据数据库中的值显示不同的图标,请问如何实现?