找回密码
 加入
搜索
查看: 8401|回复: 28

[AU3基础] TreeView例子问题

 火.. [复制链接]
发表于 2010-12-18 12:22:22 | 显示全部楼层 |阅读模式
本帖最后由 颜勇 于 2010-12-20 17:12 编辑

此帖已删!

评分

参与人数 1金钱 -500 收起 理由
水木子 -500 更正后!请联系我撤销扣分!

查看全部评分

发表于 2010-12-18 12:35:53 | 显示全部楼层
没有INI文件,无法验证,为何把49行代码注释掉了呢?
下面这个帖可以参考
http://www.autoitx.com/forum.php ... mp;page=2#pid241367
发表于 2010-12-18 13:16:42 | 显示全部楼层
点 - 号收回就不会全部选中
发表于 2010-12-18 13:20:33 | 显示全部楼层
点 - 号收回就不会全部选中
qq342252004 发表于 2010-12-18 13:16


是的!

这段代码应该是我后来整理过的,没想到楼主也有哦!
发表于 2010-12-18 13:22:16 | 显示全部楼层
是的!

这段代码应该是我后来整理过的,没想到楼主也有哦!
水木子 发表于 2010-12-18 13:20

难道你有更新的?分享一下啊。
发表于 2010-12-18 13:36:40 | 显示全部楼层
没有!你这段应该是最新的。
发表于 2010-12-18 13:46:17 | 显示全部楼层
没有!你这段应该是最新的。
水木子 发表于 2010-12-18 13:36
有的话分享一下哦,我那个驱动选择工具都是用你这勾选例子写的。
发表于 2010-12-18 13:52:16 | 显示全部楼层
嗯!这个我知道,如果有一定告诉你!
 楼主| 发表于 2010-12-18 17:38:21 | 显示全部楼层
本帖最后由 颜勇 于 2010-12-20 17:17 编辑

此帖已删!
发表于 2010-12-18 21:28:28 | 显示全部楼层
我的怎么没发现这个问题啊?测试正常的啊.看下我发的帖子.
http://www.autoitx.com/forum.php ... p;extra=&page=1
 楼主| 发表于 2010-12-18 22:29:39 | 显示全部楼层
本帖最后由 颜勇 于 2010-12-20 17:17 编辑

回复 10# mo_shaojie


此帖已删!
 楼主| 发表于 2010-12-18 22:48:26 | 显示全部楼层
本帖最后由 颜勇 于 2010-12-20 17:16 编辑

此贴已删!
发表于 2010-12-19 00:01:18 | 显示全部楼层
本帖最后由 yhxhappy 于 2010-12-19 01:03 编辑

我觉得是,点[+]号展开,选取一个子项,当点父项旁边的[—]号收起来的时候,选择的焦点会转移到父项,此时程序就会认为你选了父项,所以就把它下面的子项全选中了

把以下代码替换到脚本中试试,我在10楼链接里的脚本验证成功,楼主没有给我INI文档,我没法验证
               
 Case $aFitem[0][0] To $aFitem[UBound($aFitem) - 1][0] ;父项目
                        If BitAND(GUICtrlRead($nMsg), $GUI_CHECKED) Then ;如果父项目勾选,其下所有子项目全选。
                                $iSitemNumber = Number(_GUICtrlTreeView_GetChildCount($TreeView1, $nMsg))
                                                                $Switch = 0
                                For $i = $nMsg To $nMsg + $iSitemNumber
                                    If $i <> $nMsg And BitAND(GUICtrlRead($i), $GUI_CHECKED) Then $Switch += 1
                                                                Next
                                                                If $Switch = 0 Then
                                                                        For $i = $nMsg To $nMsg + $iSitemNumber
                                                                                GUICtrlSetState($i, $GUI_CHECKED)
                                                                        Next
                                                                EndIf
                        Else
                                $iSitemNumber = Number(_GUICtrlTreeView_GetChildCount($TreeView1, $nMsg))
                                For $i = $nMsg To $nMsg + $iSitemNumber
                                        GUICtrlSetState($i, $GUI_UNCHECKED)
                                Next
                        EndIf
                        ContinueCase

评分

参与人数 1金钱 +10 收起 理由
颜勇 + 10

查看全部评分

发表于 2010-12-19 10:02:43 | 显示全部楼层
我反复测试了N次,在XP里没有发现楼主说的那个问题,而且不需要点击“+”“-”直接点击项目文本也没问题。
看来问题出在WIN7,我还没试。
发表于 2010-12-19 10:47:29 | 显示全部楼层
本帖最后由 蜘蛛抱蛋 于 2010-12-19 11:07 编辑

回复 14# 水木子

我也出现同样的情况,不过用13楼的方法解决了。我用的是xp sp3
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 22:46 , Processed in 0.092814 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表