shenrenba 发表于 2011-6-7 09:20:20

关于listview隐藏项目显示的问题

可以用下面代码测试   注释的可以随便测试都是隐藏项目输入数据后 会显示(有时需要左右拉下)请问如何解决   
我的系统是WIN7   不至于是系统问题吧
#include <GUIListView.au3>
Opt("GUIOnEventMode", 1)

$Form1 = GUICreate("Form1", 615, 438, 192, 124)
GUISetOnEvent(-3, "Form1Close")
$ListView1 = GUICtrlCreateListView("显示|隐藏", 64, 24, 481, 289)
_GUICtrlListView_SetColumnWidth(-1, 0, 150)
;~ _GUICtrlListView_SetColumnWidth(-1,1,0)
_GUICtrlListView_HideColumn(-1, 1)
$Button1 = GUICtrlCreateButton("Button1", 152, 344, 265, 65)
GUICtrlSetOnEvent(-1, "Button1Click")
GUISetState(@SW_SHOW)

While 1
        Sleep(100)
WEnd

Func Button1Click()
;~ GUICtrlCreateListViewItem("1|2",$ListView1)
        _GUICtrlListView_AddItem($ListView1, "1", 0)
        _GUICtrlListView_AddSubItem($ListView1, 0, "2", 1, 1)
EndFunc   ;==>Button1Click

Func Form1Close()
        Exit
EndFunc

netegg 发表于 2011-6-7 09:43:03

楼主想要什么效果

shenrenba 发表于 2011-6-7 09:46:33

回复 2# netegg


    隐藏项目不显示出来

netegg 发表于 2011-6-7 10:45:58

回复 3# shenrenba
能不能拖开

shenrenba 发表于 2011-6-7 11:09:28

回复 4# netegg


    ?????????不明白我代码中的 写入数据 隐藏的就会出现(有时左右托拉几次 也会出现)

netegg 发表于 2011-6-7 12:45:12

回复 5# shenrenba
对不起,是我表达有误,我的意思是你必须要创建那一列然后隐藏吗?
如果是这样,可以是试试用消息把拖动操作屏蔽了,不过这样的话,在拖动过程会显示出来,如果单纯隐藏的话,有点不明白,为什么在创建的时候要加进去

shenrenba 发表于 2011-6-7 13:40:41

回复 6# netegg


    我代码中创建了2列 其中1个是显示的一个是隐藏 进行记录的 (不想让用户看见)

另拖动不能禁止防止有时数据会过长 显示不全的问题

netegg 发表于 2011-6-7 16:11:42

如果没看错的话设置那列宽度为0不可以吗,还是有其他的操作

shenrenba 发表于 2011-6-7 16:19:48

回复 8# netegg


    设置0 和隐藏都不行设置0的时候 只要输入数据 就会显示隐藏的时候 左右拉拉就会出现我一直没找到原因你测试可以吗   不至于是我系统问题吧(我WIN7)

netegg 发表于 2011-6-9 04:03:53

本帖最后由 netegg 于 2011-6-9 04:41 编辑

回复 9# shenrenba
说实话,还是有些不明白你的最终效果到底是什么,不过那个设置为0好象是不行,我试了试,改成-1可以隐藏,但是没有禁止拖拉

另外记得好像通过嵌入个dummy控件可以到达要求,不过印象不深了
os: win7 pro + sp1

shenrenba 发表于 2011-6-9 08:28:46

回复 10# netegg


    谢谢我试试   现在在研究百度的加密方式这个 等等在考虑

502762378 发表于 2011-6-9 19:26:27

楼主无非应该是要隐藏字项目文本为隐藏的那一列
试试_GUICtrlListView_HideColumn再限制拖动,这貌似也不太理想
页: [1]
查看完整版本: 关于listview隐藏项目显示的问题