说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于TREEVIEW的CHECKED!!

编辑:说三道四文库 发布时间:2018-04-24 05:01
HTML文档下载 WORD文档下载 PDF文档下载
下面这段程序在TREEVIEW的图象列表里有IMAGELIST的时候CHECKED属性死活加不上,请问是为什么?我的机器配置是2000+SP1,VB6
Private Sub Form_Load()
For i = 1 To 4
TreeView1.Nodes.Add , , "r" & i, "asdfsadf"
TreeView1.Nodes("r" & i).Checked = True
Next
End Sub
先设置
TreeView1.Checkboxes = True
加一个Button,加入一下代码

Private Sub Command1_Click()
For i = 1 To 4
TreeView1.Nodes("r" & i).Checked = True
Next
End Sub

可以,估计可能和TreeView得可见性Visible有关系。因为Form_Load的时候,TreeView没有可见
Private Sub Command1_Click()
For i = 1 To 4
TreeView1.Nodes.Add , , "r" & i, "asdfsadf", 1
TreeView1.Nodes("r" & i).Checked = True
Next
End Sub

这个都到ButtonClick重处理,运行,点Button一切OK

如果非要自动添加完成,可以先显示窗体,加一个Timer作延时

一样可以实现
to snowrose,这样设置好像还是不行,没有及时回信,263破兰,老是服务器繁忙,谢谢你的来信。我当时想要那个MC Snap什么技术的代码,就是你楼下那个,呵呵

你好
如果是说在FORMLOAD的时候和TREEVIEW的VISIBLE有关,为什么我去掉TREEVIEW中图象列表的IMAGELIST就可以了呢?
这个帖子虽然答案不是很满意,但还是结掉了,如果有人知道能告诉我的话,我会另开帖子送分,谢谢
这是VB的Bug,解决方法:
Private Declare Function GetWindowLong Lib "user32" Alias _
       "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias _
       "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
       ByVal dwNewLong As Long) As Long
      
Private Sub Form_Load()
    Const TVS_CHECKBOXES = &H100
    Const GWL_STYLE = (-16)

    Dim CurStyle As Long
    Dim Result As Long

    
    Me.Show
    

    TreeView1.LabelEdit = tvwManual
    TreeView1.Style = tvwTreelinesText   ' Style 4.
    TreeView1.BorderStyle = vbFixedSingle
    CurStyle = GetWindowLong(TreeView1.hwnd, GWL_STYLE)
    Result = SetWindowLong(TreeView1.hwnd, GWL_STYLE, _
            CurStyle Or TVS_CHECKBOXES)
    For i = 1 To 4
        Set nodX = TreeView1.Nodes.Add(, , "r" & i, "asdfsadf")
        nodX.EnsureVisible
        nodX.Checked = True
    Next
    nodX.EnsureVisible
End Sub
详情参见:http://support.microsoft.com/support/kb/articles/Q192/1/88.ASP
TechnoFantasy(www.applevb.com)你好

TreeView1.Style = tvwTreelinesText  ' Style 4
改为
TreeView1.Style = 7 即包含图象的方式依旧不行
不过还是谢谢
阿,我没有注意到这个问题,估计是VB的Bug,你到msdn.microsoft.com 上以TreeView1.Checked做关键字找一下,应该会有答案的。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘