VB6 TreeView 2 индекс изображения не работает, как ожидалось - PullRequest
0 голосов
/ 30 октября 2019

это код, который у меня есть, который похож на другие, которые я делал, я испортил код.

изображение = 4 зеленых
изображение = 3 красных

сравнивает древовидное представление1, древовидное представление2 затем устанавливает соответствующий узел для индекса изображения = 4 зеленого цвета, а отсутствующее сопоставляется с изображением = 3

Private Sub Command15_Click()
   On Error Resume Next

   startt = True

   Dim FoundIt As Boolean, ii As Integer, ix As Integer
   Dim NodX As Node, NodX2 As Node

   For Each NodX In TreeView1.Nodes
      ix = NodX.Index

      For Each NodX2 In TreeView2.Nodes
         ii = NodX2.Index

         If NodX.FullPath = NodX2.FullPath Then
            'TreeView2.Nodes(x).FullPath
            FoundIt = True
            'NodX.Image = 4
            'NodX2.Image = 4
            'NodX.Image = 4
            'NodX2.Child.Image = 4
            On Error Resume Next
            Exit For
         End If

         DoEvents
         'pause 0
      Next

      If FoundIt Then
         TreeView1.Nodes(ix).Image = 4
         TreeView2.Nodes(ii).Image = 4

         If TreeView2.Nodes(ii).Index = TreeView2.Nodes.Count - 0 Then
            'Label4.Caption = "done"
            Call Command16_Click 'click this once all image index is done move to next step
            Exit For
         End If
      Else
         TreeView2.Nodes(ix).Image = 3
      End If

      ' TreeView1.Nodes(ix).Image = 3
      If TreeView2.Nodes(ii).Index = TreeView2.Nodes.Count - 0 Then
         DoEvents
         'pause 3
         'Call Command16_Click

         If downnn = True Then
            Call Command16_Click
            Exit For
         End If
      End If

      FoundIt = False
   Next
End Sub

код, в котором вы видите Если TreeView2. Узлы (ii) .Index = TreeView2.Nodes.Count - 0 Тогда также не срабатывает, я пытаюсь сделать, когда все узлы зеленые и достигли последнего элемента, а затем запустить это событие.

1 Ответ

0 голосов
/ 30 октября 2019
Private Sub Command8_Click()
On Error Resume Next
Dim objRootNode As Node
Dim objChildNode As Node
Dim iRootCounter As Integer
Dim iRootCounter2 As Integer
Dim iChildCounter As Integer
Dim countt As Integer
Dim ixx As Integer

startt = True
Dim FoundIt As Boolean, ii As Integer, ix As Integer
    Dim NodX As Node, NodX2 As Node

               'For Each NodX In TreeView1.Nodes
               For iRootCounter = 1 To TreeView1.Nodes.Count
ixx = TreeView1.Nodes(iRootCounter).Index
                'For Each NodX2 In TreeView2.Nodes
                For iRootCounter2 = 1 To TreeView2.Nodes.Count
ii = TreeView2.Nodes(iRootCounter2).Index
Set objRootNode = TreeView2.Nodes(iRootCounter)
'If NodX.FullPath = NodX2.FullPath Then
'TreeView2.Nodes(x).FullPath
If TreeView2.Nodes(ii).FullPath = TreeView1.Nodes(ixx).FullPath Then
 FoundIt = True
'NodX.Image = 4
'NodX2.Image = 4
'NodX.Image = 4
'NodX2.Child.Image = 4
On Error Resume Next

Exit For
                  End If
                  DoEvents
                  'pause 0
If TreeView2.Nodes(ii).Index = TreeView2.Nodes.Count - 0 Then
Exit For

    End If
              Next
                If FoundIt Then
TreeView1.Nodes(ixx).Image = 4
TreeView2.Nodes(ii).Image = 4
Debug.Print ii
If TreeView2.Nodes(ii).Index = TreeView2.Nodes.Count - 0 Then
Label4.Caption = "done"
'Call Command16_Click
Call Command16_Click
Exit For
End If
      Else
TreeView2.Nodes(ixx).Image = 3

      End If

     ' TreeView1.Nodes(ix).Image = 3
If TreeView2.Nodes(ii).Index = TreeView2.Nodes.Count - 0 Then
DoEvents
'pause 3
'Call Command16_Click
If downnn = True Then
Exit For

Exit Sub
End If
    End If
      FoundIt = False
    Next
    'Label4.Caption = "done"
   '
    'Exit Sub
End Sub

Я не уверен, будет ли это лучше, чем у них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...